IO字節流和字符流的應用

字節流和字符流的應用

FileWriter

1,創建一個FileWrite對象,該對象一被初始化就必須要明確被操作的文件.而且該文件會被創建到指定的目錄下.如果該目錄下已有同名文件,將被覆蓋.其實該步就是在明確數據要存放的目的地.

   FileWriterfw = new FileWriter(“Demo.txt”);

2,調用write方法,將字符串寫入到流中.

          fw.write(“abcd”);

3,刷新流對象中的緩衝中的數據,將數據刷到目的地中.

          fw.flush();

   fw.close();//關閉資源,但是關閉之前會刷新一次內部的緩衝中的數據,將數據刷到目的地中.

FileReader

讀取方法一(通過字符進行讀取)

   1,創建一個文件讀取流對象,和指定名稱的文件相關聯.要保證該文件是已經存在的,如果不存在,會發生異常FileNotFoundException.

                 FileReaderfr = new FileReader(“demo.txt”);

   2,調用讀取流對象的read方法.

          read():一次讀一個字符,而且會自動往下讀.

讀取方法二(通過字符數組進行讀取)

          定義一個字符數組,用於存儲讀到的字符.

          該read(char[] )返回的是讀到字符個數.


字節流FileInputStream和FileOutputStream的應用

1.讀取文件
創建FileInputStream對象, 指定一個文件. 文件必須存在, 不存在則會拋出FileNotFoundException
使用read()方法可以從文件中讀取一個字節. 如果讀取到文件末尾會讀到-1
讀取結束後需要釋放資源, 調用close()方法關閉輸入流
2.寫出文件
創建FileOutputStream對象, 指定一個文件. 文件不存在會創建新文件, 存在則清空原內容. 如果需要追加, 在構造函數中傳入true.
使用write()方法可以向文件寫出一個字節.
寫出結束後同樣需要調用close()
3.拷貝文件
可以從文件中逐個字節讀取, 逐個字節寫出, 但這樣做效率非常低
我們可以定義一個數組作爲緩衝區, 一次讀取多個字節裝入數組, 然後再一次性把數組中的字節寫出

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