筆記:
Input/OutputStream比較多用於讀取byte或2位元資料
Reader/Writer 更適合讀字串字元 都是讀char或string
Stream 可以透過 InputStreamReader/Writer 轉換成 Reader/Writer類型
但Reader/Writer類型無法轉為Stream
底層分別為 FileInput/OutputStream 及 FileRead/Writer
而Buffer等級為
BufferedInput/OutputStream 及 BufferedRead/Writer
package iotest;
import java.io.*;
public class StreamVSReader {
public static void main(String[] args) throws Exception {
//InputStreamReader OutputStreamReader
//InputStreamWriter OutputStreamWriter
// 都是FileInput/Output Stream轉 Reader的方式
//而InputStreamReader 接收中文的方式需用 InputSrtreamReader(InputStreamReader,"utf-8"),後使用解碼方式
//Stream類 接收bytes,binary
FileInputStream reader = new FileInputStream("./newfolder/file2");
BufferedInputStream bs = new BufferedInputStream(reader);
int temp;
while ((temp = bs.read()) != -1) { // 讀到沒資料的時候 read()此方法會return -1
System.out.print((char) temp);
}
//Reader類 接收 character類型 所以讀字串用reader較好 中文也不用轉換
BufferedReader input = new BufferedReader( new FileReader("./newfolder/file2")); //讀中文
String str;
while((str= input.readLine())!=null) {
System.out.println(str);
}
}
}
@copyright MRcodingRoom
觀看更多文章請點MRcoding筆記
觀看更多文章請點MRcoding筆記