標籤:tar 最大 字串 write 讀數 nbsp linu windows cpu
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 write(String str) //調用流對象寫資料方法
//資料沒有直接寫到檔案中,其實是寫到了記憶體緩衝區
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