1. 程式人生 > >JAVA 中的文件讀取

JAVA 中的文件讀取

分隔符 ade write utf8 問題 提高 byte 使用 buffere

1. InputStream / OutputStream
處理字節流
抽象類:所有輸入、輸出(內存)類的超類,一般使用 FileInputStream / FileOutputStream

輸出字符 utf8 編碼:如 4431

2. InputStreamReader / OutputStreamWriter
處理字符流
抽象類
InputStreamReader:字節流通向字符流的橋梁,將字節流轉換為字符流
OutputStreamWriter:字符流通向字節流的橋梁,將字符流轉換為字節流

輸出字符:一個個字符,如:a 或者 陳(漢字)

3. BufferedReader / BufferedWriter
Reader 類擴展,文本讀取的通用緩沖方式,readLine 方法讀取一個文本行,從【字符輸入流】讀取文本,緩沖各個字符,以提高字符、數組和行的讀取效率。

Writer 類擴展而來,文本寫入的通用緩沖方式,newLine 使用平臺自己的行分隔符,將文本寫入【字符輸出流】,緩沖各個字符,從而提供單個字符、數組和字符串的高效寫入。

輸出文本行


InputStream 能從來源處讀取一個一個字節(Byte),所以他是最低級的。

進化過程:
FileInputStream(byte) --> InputStreamReader(字符) --> BufferedReader(行)

InputStreamReader 與 FileReader 的區別:
InputStreamReader 是用來讀取原始字節流,可指定編碼格式
FileReader 是讀取字符流,使用系統默認的編碼格式,當讀取中文文件是易出現亂碼問題。

JAVA 中的文件讀取