IO流是用來處理設備之間的數據傳輸:文件複製(U盤拷貝),上傳文件(社交論壇圖片附件上傳),下載文件(迅雷)等等。
FileWirter寫數據
public class FileWriter
extends OutputStreamWriter用來寫入字符文件的便捷類。此類的構造方法假定默認字符編碼和默認字節緩衝區大小都是可接受的。要自己指定這些值,可以先在 FileOutputStream 上構造一個 OutputStreamWriter。
文件是否可用或是否可以被創建取決於底層平臺。特別是某些平臺一次只允許一個 FileWriter(或其他文件寫入對象)打開文件進行寫入。在這種情況下,如果所涉及的文件已經打開,則此類中的構造方法將失敗。
FileWriter
用於寫入字符流。要寫入原始字節流,請考慮使用FileOutputStream
。構造方法
FileWriter(String fileName) 傳遞一個文件名稱
成員方法
void write(String str) 往文件中寫入一個字符串。
void flush() 刷新該流的緩衝,把內存緩衝區中的數據刷新到文件中。
void close() 關閉此流,但要先刷新它。
路徑:
相對路徑:相對當前項目而言的,在項目的根目錄下(a.txt)
絕對路徑:以盤符開始的路徑(d:\\a.txt)
FileReader讀數據
構造方法
FileReader(String fileName) 傳遞要讀取的文件名稱
成員方法
int read() 讀取單個字符並返回
int read(char[] cbuf) 一次讀取一個字符數組的數據,返回的是實際讀取的字符個數
- 複製文本文件,一次讀寫一個字符數組
- 字符緩衝流:BufferedWriter和BufferedReader
BufferedWriter:將文本寫入字符輸出流,緩衝各個字符,從而提供單個字符、數組和字符串的高效寫入。
BufferedReader:從字符輸入流中讀取文本,緩衝各個字符,從而實現字符、數組和行的高效讀取。
方法使用:
BufferedWriter
void newLine():寫一個換行符,這個換行符由系統決定
BufferedReader
String readLine():一次讀取一行數據,但是不讀取換行符//String 類型接收
複製文本文件