1. 程式人生 > >IO流讀寫檔案例項

IO流讀寫檔案例項

最近的科研大量需要用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");
	}

}