java StringBuffer讀寫文件


java StringBuffer讀寫文件

  • StringBuffer的優勢
  1. 較String:String每更新一次就會new一個新的對象出來,更新次數上去之后,內存開銷太大。而StringBuffer類型在更新(.append等操作)的過程中始終只有一個對象,開銷大大減小。
  2. 較StringBuilder:StringBuilder和StringBuffer類擁有的成員屬性以及成員方法基本相同,區別是StringBuffer類的成員方法前面多了一個關鍵字:synchronized,不用多說,這個關鍵字是在多線程訪問時起到安全保護作用的,也就是說StringBuffer是線程安全的(所謂synchronized線程安全,就是在使用多線程時,“鎖”住某對象/類的同一方法,防止多線程同時訪問某方法,產生沖突,運行錯誤)。深入理解請看
  • 讀寫代碼
 1 import java.io.*;
 2 
 3 public class FileIO_StringBuffer {
 4     public static void main(String[] args) {
 5         //讀文件到Stringbuffer 
 6         StringBuffer sb = new StringBuffer();
 7         String sourcePath = "C:\\Users\\Administrator\\Desktop\\1.txt";//源文件路徑(*.*)
 8         BufferedReader br = null;
 9         try {
10             br = new BufferedReader(new FileReader(sourcePath));
11             String str;
12             while((str = br.readLine()) != null) {//逐行讀取
13                 sb.append(str);//加在StringBuffer尾
14                 sb.append("\r\n");//行尾 加換行符
15             }
16             br.close();//別忘記,切記
17         }
18         catch(Exception e){
19             System.out.println(e.getMessage());
20         }
21         
22         //寫入文件
23         String targetPath = "C:\\Users\\Administrator\\Desktop\\2.txt";//目標文件路徑
24         File f = new File(targetPath);//新建文件
25         try {
26             BufferedWriter bw = new BufferedWriter(new FileWriter(f));
27             bw.write(sb.toString());
28             bw.flush();
29             bw.close();
30         }
31         catch(Exception e) {
32             System.out.println(e.getMessage());
33         }
34     }
35 }

歡迎留言討論!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM