流的操作規律:
1.明確源和目的
源:inputsream reader
目的:outputstream writer
2.明確資料是否是純文字資料
源:是純文字 reader
否:inputsream
目的:是純文字 writer
否:outputstream
3.明確具體的裝置
源裝置:
硬碟:file
鍵盤:system.in
記憶體:陣列
網路:socket流
目的裝置:
硬碟:file
控制台:system.in
記憶體:陣列
網路:socket流
4.是否需要其他額外功能
i.是否需要高效(緩衝區)
是,加buffer
ii.轉換
1、明確和目的:
源:inputstream reader
目的:outputstream writer
2、是否純文字
是源:reader
目的:writer
3、明確具體裝置。
源:硬碟:file
目的:硬碟:file
filereader fr = new filereader("a.txt");
filewriter fw = new filewriter("b.txt");
4、需要額外功能嗎?
需要,需要高效
bufferedreader bufr = new bufferedreader(new filereader("a.txt")));
bufferedwrieter bufw = new bufferedwrieter(new filewriter("b.txt"));
demo2:讀取鍵盤錄入資訊,並寫入到乙個檔案中
1、明確和目的:
2、是否純文字
是源:reader
目的:writer
3、明確裝置
源:鍵盤:system.in
目的:硬碟:file
inputstream in = system.in;
filewriter fw = new filewriter("b.txt");
4、需要額外功能嗎?
需要。轉換。
將位元組流轉換成字元流。因為明確的源是reader,這樣操作文字資料更便捷
inputstreamreader isr = new inputstreamreader(system.in);
filewriter fw = new filewriter("b.txt");
還需要功能嗎?
需要:嗯
bufferedreader bufr = new bufferedreader(new inputstreamreader(system.in));
bufferedwrieter bufw = new bufferedwrieter(new filewriter("b.txt"));
demo3:講乙個文字檔案資料顯示在控制台上
1、明確和目的:
源:inputstream reader
目的:outputstream writer
2、是否純文字
是源:reader
目的:writer
3、明確具體裝置。
源:硬碟:file
目的:控制台:system.out
filereader fr = new filereader("a.txt");
outputstream os = system.out;
4、需要額外功能嗎?
需要,轉換
filereader fr = new filereader("a.txt");
outputstreamwriter osw = new outputstreamwriter(system.out);
需要高效
bufferedreader bufr = new bufferedreader(new filereader("a.txt"));
bufferedwrieter bufw = new bufferedwrieter(new outputstreamwriter(system.out));
demo4:讀取鍵盤錄入資料,顯示在控制台上
inputstream is = system.in;
outputstream out = system.out;
inputstreamreader isr = new inputstreamreader(system.in);
outputstreamwriter osw new outputstreamwriter(system.out);
bufferedreader bufr = new bufferedreader(new inputstreamreader(system.in));
bufferedwriter bufw = new bufferedwrieter(new outputstreamwriter(system.out));
demo5:講乙個中文字串資料按照指定的編碼表寫入到乙個文字檔案中
1、目的。outputstream writer
2、是純文字,writer
3、裝置:硬碟file
filewriter fw = new filewriter("a.txt");
fw.write("你好");
注意:既然需求中已經明確了指定編碼表的動作,那就不可以使用filewriter,因為filewriter內部使用預設的本地編碼表
只能使用其父類。outputstreamwriter.
outputstreamwriter接受乙個位元組輸出流物件,既然是操作檔案,那麼該物件應該是fileoutputstream
outputstreamwriter osw = new outputstreamwriter(new fileoutputstream("a.txt"),charsetname);
什麼時候使用轉換流呢?
1、源或者目的對應的裝置室位元組流,但是操作的卻是文字資料,可以使用轉換作為橋梁,提高對文字操作的便捷。
2、一旦操作文字涉及到具體的自定編碼表時,必須使用轉換流
IO流操作規律
流操作的基本規律 最痛苦的就是流物件有很多,不知道用哪乙個。通過兩個明確來完成。1 明確源和目的。源 輸入流。inputstream reader 目的 輸出流 outputstream writer 2 操作的資料是否是純文字 是 字元流 不是 位元組流 3 當體系確定後,在明確需要使用哪個具體物...
IO流操作的規律
io流操作中,首先要明確開發中具體要使用哪個流物件。1,明確資料來源,資料匯 資料目的 其實就是在明確要使用的io體系。inputstream outpurstream reader writer 需求中操作的是源 意味著是讀,inputstream reader 需求中操作的是目的 意味著是寫 o...
IO流的操作規律
1 明確源和目的 源 inputstream reader 目的 outputstream writer 2 明確資料是否是純文字資料 源 是純文字 reader 不是純文字 inputstream 目的 是純文字 writer 不是純文字 outputstream 先明確體系是哪個 3 明確具體的...