1. 程式人生 > >Java基礎-IO流(123

Java基礎-IO流(123

最大 java基礎 作文 寫入 文件中 長度 繼續 寫入文件 style

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