IO流讀寫檔案例項
阿新 • • 發佈:2019-02-17
最近的科研大量需要用Java讀寫檔案,所以在此對常用的用IO流讀寫檔案的Java實現記錄分享一下:
package myLearningTest; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.io.Reader; import java.io.Writer; public class IOTest { //測試用io流讀寫檔案,該方法用於從file1中讀取檔案內容,並將其寫入file2中 public static void ioTest(String pathFrom,String pathTo) throws Exception{ try{ //用File物件獲取file檔案 File file1 = new File(pathFrom); File file2 = new File(pathTo); //用Reader字元流加入檔案 Reader reader = new FileReader(file1); //用BuffereredReader字元緩衝流處理檔案流 BufferedReader br = new BufferedReader(reader); //上面兩個語句可以綜合如下 //BufferedReader br = new BufferedReader(new FileReader(file)); //用Writer建立一個新的字元流writer Writer writer = new FileWriter(file2); //用PrintWriter字元緩衝流列印輸出流 PrintWriter pw = new PrintWriter(writer); //上面兩個語句可以綜合如下: //PrintWriter pw = new PrintWriter(new FileWriter(file2)); //定義一個字串,用於遍歷file1的內容並將其複製到file2 String line = null; while((line = br.readLine()) != null){ pw.println(line); pw.flush();//重新整理輸出的緩衝流,上一步所寫的字元沖刷到指定的檔案 } pw.close();//這是必須的,flush重新整理後,流可以繼續使用,close先重新整理緩衝區,然後將流關閉 br.close(); }catch(FileNotFoundException e){ e.printStackTrace(); }catch(IOException e){ e.printStackTrace(); } } public static void main(String[] args) throws Exception { // TODO Auto-generated method stub ioTest("d:\\dd.txt","d:\\dd1.txt"); } }