10_IO_第10天(字元流、字元緩衝流)
阿新 • • 發佈:2018-12-21
---恢復內容開始---
今日學習目標
- 能夠說出IO流的分類和功能
- 能夠使用FileWirter寫資料到檔案
- 能夠明確FileWriter寫資料使用兩種路徑的區別
- 能夠說出FileWriter中關閉和重新整理方法的區別
- 能夠使用FileWriter寫資料的5個方法
- 能夠使用FileWriter寫資料實現換行和追加寫
- 能夠使用FileReader讀資料
- 能夠使用FileReader讀資料一次一個字元陣列
- 能夠明確字元緩衝流的作用和基本用法
- 能夠使用緩衝流的特殊功能
FileWriter和FileReader
IO流概述和分類
- IO流用來處理裝置之間的資料傳輸
- 檔案複製(U盤拷貝內))
- 上傳檔案(微信圖片,QQ空間圖片)
- 下載檔案(迅雷)
- IO流分類
- 輸出流
- FileWriter
- 輸入流
- FileReader
- 輸出流
- 圖解
FileWriter
FileWriter寫資料
- 構造方法
- FileWriter(String fileName)傳遞一個檔名稱
- 成員方法
- void write(Stringstr)往檔案中寫入一個字串。
- void flush()重新整理該流的緩衝,把記憶體緩衝區中的資料重新整理到檔案中。
- void close()關閉此流,但要先重新整理它。
- 輸出流寫資料的步驟:
- 1.建立輸出流物件
- 2.呼叫輸出流物件的寫資料的方法
- 3.釋放資源
import java.io.FileWriter; import java.io.IOException; public class Demo01FileWriter { public static void main(String[] args) throws IOException { //建立輸出流物件 FileWriter fw = newFileWriter("d:\\a.txt"); /* * 建立輸出流物件醉了哪些事情: * A:呼叫系統資源建立了一個檔案 * B:建立輸出流物件 * C:把輸出流物件指向檔案 */ //呼叫輸出流物件的寫資料的方法 //寫一個字串資料 fw.write("IO流你好"); //資料沒有直接寫到檔案,其實是寫到了記憶體緩衝區 fw.flush(); //釋放資源 //通知系統釋放和該檔案相關的資源 fw.close(); //while(true){} } }
程式碼執行之後會在d盤目錄下生成一個a.txt 檔案,檔案內容為IO流你好。
FileWriter寫資料路徑問題及關閉和重新整理方法的區別
- 路徑:
- 相對路徑:相對當前專案而言的,在專案的根目錄下(a.txt)
- 絕對路徑:以碟符開始的路徑(d:\\a.txt)
- close()和flush()方法的區別:
- flush():重新整理緩衝區。流物件還可以繼續使用。
- close():先重新整理緩衝區,然後通知系統釋放資源。流物件不可以再被使用了。
import java.io.FileWriter; import java.io.IOException; public class Demo02FileWriter { public static void main(String[] args) throws IOException { //建立輸出流物件 //FileWriter fw = new FileWriter("d:\\a.txt"); FileWriter fw = new FileWriter("a.txt"); //呼叫輸出流物件的寫資料方法,並重新整理緩衝區 fw.write("helloworld"); fw.flush(); fw.write("java"); fw.flush(); //釋放資源 fw.close(); //Stream closed 流關閉 //fw.write("javaee"); //fw.flush(); //這裡需要關閉流,不然就會報錯,提示要關閉流 } }