標籤:java-io java流 ioliu io流 流操作
使用的是InputStreamReader和OutputStreamWriter,它們本身屬於的是reader和writer字元流,我們之所以會用到這些轉化流是因為系統有時候只給我們提供了位元組流,為了方便操作,要用到字元流。比如說System.in標準輸入資料流就是位元組流。你想從那裡得到使用者在鍵盤上的輸入,只能是以轉換流將它轉換為Reader以方便自己的程式讀取輸入。再比如說Socket裡的getInputStream()很明顯只給你提供位元組流,你要想讀取字元,就得給他套個InputStreamReader()用來讀取。
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;public class Test { public static void main(String[] args) throws IOException { //位元組流和字元流的相互轉化 FileInputStream fileInputStream = new FileInputStream("input.txt"); //inputSreamReader本來就是reader對象,建立的時候需要傳入一個InputStream對象,將位元組流轉化為字元流 BufferedReader reader = new BufferedReader(new InputStreamReader(fileInputStream)); //將字元流轉化為位元組流 OutputStreamWriter outputStreamWriter = new OutputStreamWriter(new FileOutputStream("output.txt")); BufferedWriter writer = new BufferedWriter(outputStreamWriter); //實現拷貝檔案的操作 String buf; while((buf = reader.readLine()) != null) { writer.write(buf); writer.newLine(); System.out.println(buf); } //關閉流 reader.close(); writer.close(); }}
參考http://www.zaojiahua.com/1453.html
後續也許更新^_^
Java IO流詳解(五)