Java基礎-IO流(123
阿新 • • 發佈:2017-11-02
最大 java基礎 作文 寫入 文件中 長度 繼續 寫入文件 style void write(String str) //調用流對象寫數據方法
//數據沒有直接寫到文件中,其實是寫到了內存緩沖區
void flush() //將內存緩沖區中的數據寫入文件
void close() //關閉流,不然會一直占用文件無法操作文件.
IO流用來處理設備之間的數據傳輸.可以實現文件復制,上傳文件和下載文件.
IO流分類
IO流可以吧數據存儲到文件,也可以從文件中讀取數據
輸出流(寫數據用)
FileWriter
void write(String str) //寫一個字符串數據 void write(String str,int index,int len) //寫一個字符串中的一部分數據 void write(int ch) //寫一個字符數據,寫int類型好處是既可以寫char類型的數據,也可以寫插入對應的int類型數據 void write(char[] chs) //寫一個字符數據 void write(char[] chs,int index,int len) //寫一個字符數組一部分
步驟
往文件中寫數據(對於cpu來說是往外輸出)-->用輸出流-->-->FileWriter
輸出流寫數據的步驟:
A.創建輸出流對象
B.調用輸出流對象寫數據的方法
C.釋放資源
構造方法,創建輸出流對象
FileWriter(String fileName) //fileName為文件路徑不寫盤符為相對路徑(相對項目)
FileWriter(String fileName,boolean append) //輸出到文件時添加到文件尾
成員方法
//數據沒有直接寫到文件中,其實是寫到了內存緩沖區
void flush() //將內存緩沖區中的數據寫入文件
void close() //關閉流,不然會一直占用文件無法操作文件.
輸入流(讀數據用)
FileReader
構造方法 FileReader(String fileName) 成員方法 int read() //一次讀取一個字符,返回的是字符的int值.如果沒有數據了,返回-1 int read(char[] cbuf)
步驟
A.創建輸入流 B.調用輸入流對象的讀數據方法 C.關閉流
close()和flush()方法區別
A.flush()刷新緩沖區.刷新後流對象還可以繼續使用
B.close()先刷新緩沖區,然後通知系統釋放資源.流對象不可以再使用.
向文本文件中寫字符時換行的方式mac是\r,linux是\n,windows是\r\n
文件復制(傳輸)時先用FileReader讀取數據,再用FileWriter寫數據.即先I在O.
//創建輸入流對象 FileReader fr = new FileReader("source.txt"); //創建輸出流對象 FileWriter fw = new FileWriter("target.txt"); /*讀寫數據 int ch; while((ch=fr.read())!=-1) { //讀取到了返回字符int值,讀不到返回-1 fw.write(ch); }*/ //讀寫數據 char[] chs = new char[1024]; //最大字符數組 int len; while((len=fr.read(chs))!=-1) { //讀取到字符數組時返回數組長度,讀取不到返回-1 fw.write(chs, 0, len); } //釋放資源 fw.close(); fr.close();
Java基礎-IO流(123