io流操作中,首先要明確開發中具體要使用哪個流物件。
1,明確資料來源,資料匯(資料目的)
其實就是在明確要使用的io體系。inputstream outpurstream reader writer
需求中操作的是源:意味著是讀,
inputstream reader
需求中操作的是目的:意味著是寫
outputstream writer
2,明確操作的資料是否是純文字資料
是:字元流
否:位元組流
是並且是源:reader
是並且是目的:writer
3,明確要操作的具體裝置。每個裝置都有對應的流物件
源裝置:
硬碟:能操作file的物件都是,file開頭的
鍵盤:system.in
記憶體:陣列
網路:socket流
目的裝置:
硬碟:能操作file的物件都是,file開頭的物件
顯示器:system.out
記憶體:陣列
網路:socket流
4、明確是否需要額外的功能
需要高效:緩衝區,bufferd開頭的
需要編碼轉換:轉換流
需求:通過鍵盤錄入資料,將資料儲存到乙個檔案中。
明確一:有源嗎?有,有目的嗎?有
源:inputstream reader
目的:outstream writer
明確二:是純文字資料嗎?是
源:reader
目的:writer
明確三:具體裝置
源裝置:鍵盤(system.in)
目的裝置:硬碟
inputstream is = system.in;
filewriter fw = new filewriter("a.txt");
//將讀取到的位元組儲存到陣列 read(byte)
//將位元組資料轉成字串
//通過fw.write(string)寫入到檔案中
但是很麻煩,因為明確源是reader。需要將位元組流轉成字元流,這樣操作文字就便捷了。
明確四:需要功能嗎?
需要,轉換 位元組-->字元 inputstreamreader
inputstreamreader isr = new inputstreamreader(system.in);
filewriter fw = new filewriter("a.txt");
//一次讀取乙個字元
//將讀到的字元寫入。
//當然也可以定義字元陣列緩衝區。
需要其他功能嗎?
需要:高效 buffered
bufferedreader bufr = new bufferedreader(new inputstreamreader(system.in));
bufferedwriter bufw = new bufferedwriter(new filewriter("a.txt"));
需求2:讀取文字檔案中的資料,將其列印到控制台上
明確一:有源嗎?有,有目的嗎?有
源:inputstream reader
目的:outstream writer
明確二:是純文字資料嗎?是
源:reader
目的:writer
明確三:具體裝置
源裝置:硬碟
目的裝置:顯示器 (system.out)
filereader fr = new filereader("a.txt");
outputstream(printstream) out = system.out;
//fr讀取資料到陣列中。
//使用printstream 直接呼叫println方法就可以列印了,如果使用outputstream可以呼叫write方法就可以將資料寫入到顯示器中
//麻煩
因為源都是字元資料,可以通過字元流操作,將字元流轉成位元組再給顯示器
明確四:需要額外功能嗎?
需要轉換 字元-->字元
filereader fr = new filereader("a.txt");
outputstreamwriter osw = new outputstreamwriter(system.out);
還需要其它功能嗎、
需要高效
bufferedreader bufr = new bufferedreader(new filereader("a.txt"));
bufferedwriter bufw = mew bufferedwriter(new outputstreamwriter(system.out));
//讀取一行資料
//寫入一行資料
IO流操作規律
流操作的基本規律 最痛苦的就是流物件有很多,不知道用哪乙個。通過兩個明確來完成。1 明確源和目的。源 輸入流。inputstream reader 目的 輸出流 outputstream writer 2 操作的資料是否是純文字 是 字元流 不是 位元組流 3 當體系確定後,在明確需要使用哪個具體物...
IO 流操作規律
流的操作規律 1.明確源和目的 源 inputsream reader 目的 outputstream writer 2.明確資料是否是純文字資料 源 是純文字 reader 否 inputsream 目的 是純文字 writer 否 outputstream 3.明確具體的裝置 源裝置 硬碟 fi...
IO流的操作規律
1 明確源和目的 源 inputstream reader 目的 outputstream writer 2 明確資料是否是純文字資料 源 是純文字 reader 不是純文字 inputstream 目的 是純文字 writer 不是純文字 outputstream 先明確體系是哪個 3 明確具體的...