Java_IO_字節流_Reader_and_Writer

前面學習了字節流,現在來學習一下字符流,字符流,看名字就知道是什麼意思了,是用來讀寫字符的流。

先來看一下:FileReader 和 FileWriter

直接上代碼

FileReader :


FileWriter:



FileReader 和 FileWriter主要是對文本文件進行操作,字符流操作文件好處是:可以自動的轉碼,讀取中文的時候不會亂碼。

PS:FileWriter寫換行符應該是、\r\n


下面來看一下BufferedReader  和 BufferedWriter

先看一下BufferedReader  的基本用法



再來看一下 BufferedWriter 的基本用法



其實 FileReader 和 FileWriter、 BufferedWriter  和  BufferedReader 相比,也即是多了個自身維護的緩衝數組,沒什麼多大的區別

BufferedReader 有一個方法,是很常用的,那就是readLine();  顧名思義,一次讀取一行。

BufferedWriter   也有一個對應的方法,但不是writeLine();  不要說出去有這個方法,會丟人的,與之相對應的就是 newLine();  新建一行空行。


記住,reader和writer都是操作文本文件的,不能對二進制的文件進行操作,否則會出錯,下面演示一個錯誤的案例,錯誤的案例,錯誤的案例:


上面的是代碼,下面的是結果,結果目標文件路徑中確實有相對應的image2文件,外面看,大小還是一樣的,但你點詳細信息的時候你會發現,複製過來的這個文件的大小會比原來的要小一點,然後你可以試圖的去打開復制後的這個image2 你會發現,根本打不開,這就對了,這就是用字符流去操作二進制文件的後果,所以一定要記住,字符流只能操作文本文件,字符流出現的原因無非就是使我們操作文本文件的時候更加便捷,少了轉碼的那一步驟。


對IO方面還有什麼不明白的請移步到Java_IO

最後附上IO篇的目錄

java_IO 總覽

FileInputStream和FileOutputStream的簡單使用

Java_IO_BufferedIntputStream_And_BufferedOutputStream

Java_IO_ObjectInputStream_And_ObjectOutputStream

Java_IO_字節流_Reader_and_Writer

Java_IO_SequenceInputStream文件的合併


發佈了38 篇原創文章 · 獲贊 25 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章