java中的 FileWriter類 和 FileReader類的一些基本用法

1,FileWriter類(字符輸出流類)

構造方法:FileWriter fw = new FileWriter(String fileName);//建立字符輸出流類對象和已存在的文件相關聯。文件不存在的話,並建立。java

                                             如:FileWriter fw = new FileWriter("C:\\demo.txt");小程序

                  FileWriter fw = new FileWriter(String fileName,boolean append);//建立字符輸出流類對象和已存在的文件相關聯,並設置該該流對文件的操做是否爲續寫。windows

                                             如:FileWriter fw = new FileWriter("C:\\demo.txt",ture); //表示在fw對文件再次寫入時,會在該文件的結尾續寫,並不會覆蓋掉。數組

主要方法: void write(String str)   //寫入字符串。當執行完此方法後,字符數據還並無寫入到目的文件中去。此時字符數據會保存在緩衝區中。app

                                                        此時在使用刷新方法就能夠使數據保存到目的文件中去。ui

                  viod flush()                //刷新該流中的緩衝。將緩衝區中的字符數據保存到目的文件中去。spa

                  viod close()               //關閉此流。在關閉前會先刷新此流的緩衝區。在關閉後,再寫入或者刷新的話,會拋IOException異常。.net

[java]  view plain  copy
 
  1. package filewriter;  
  2.   
  3. import java.io.FileWriter;  
  4. import java.io.IOException;  
  5.   
  6. public class Filewriter {  
  7.   
  8.     private static final String LINE_SEPARATOR = System.getProperty("line.separator");  
  9.   
  10.     /** 
  11.      *  
  12.      * @param args 
  13.      * @throws IOException  
  14.      */  
  15.     public static void main(String[] args) throws IOException {  
  16.         /** 
  17.          * 建立一個能夠往文件中寫入字符數據的字符流輸出流對象 
  18.          * 建立時必須明確文件的目的地 
  19.          * 若是文件不存在,這回自動建立。若是文件存在,則會覆蓋。 
  20.          * 當路徑錯誤時會拋異常 
  21.          *  
  22.          * 當在建立時加入true參數,回實現對文件的續寫。 
  23.          */  
  24.         FileWriter fw = new FileWriter("C:\\demo1.txt",false);  
  25.         /** 
  26.          * 調用該對象的write方法,向文件寫入字符。 
  27.          *  
  28.          * 其實寫入到了臨時存儲緩衝區中 
  29.          */  
  30. //      fw.write("hello \r\nworld!");//windows中的換行爲\r\n    unix下爲\r。  
  31.         fw.write("aello"+LINE_SEPARATOR+"world!");  
  32.         fw.write("hahaha");  
  33.         /** 
  34.          * 進行刷新,將字符寫到目的地中。 
  35.          */  
  36. //      fw.flush();  
  37.         /** 
  38.          * 關閉流,關閉資源。在關閉前會調用flush方法 刷新緩衝區。關閉後在寫的話,會拋IOException 
  39.          */  
  40.         fw.close();  
  41.           
  42.   
  43.     }  
  44.   
  45. }  

關於FileWriter的的異常處理。unix

[java]  view plain  copy
 
  1. package filewriter;  
  2.   
  3. import java.io.FileWriter;  
  4. import java.io.IOException;  
  5.   
  6. public class IOExceptionDemo {  
  7.   
  8.     private static final String LINE_SEPARATOR = System.getProperty("line.separator");  
  9.     public static void main(String[] args) {  
  10.   
  11.         FileWriter fw = null;  
  12.         try {  
  13.             fw = new FileWriter("k:\\Demo.txt", true);  
  14.             fw.write("hello" + LINE_SEPARATOR + "world!");  
  15.         } catch (Exception e) {  
  16.             System.out.println(e.toString());  
  17.         } finally {  
  18.             if (fw != null)  
  19.                 try {  
  20.                     fw.close();  
  21.                 } catch (IOException e) {  
  22.                     throw new RuntimeException("關閉失敗!");  
  23.                 }  
  24.         }  
  25.     }  
  26. }  

2,FileReader類

1,構造方法對象

FileReader fr = new FileReader(String fileName);//使用帶有指定文件的String參數的構造方法。建立該輸入流對象。並關聯源文件。

2,主要方法

int read(); // 讀取單個字符。返回做爲整數讀取的字符,若是已達到流末尾,則返回 -1。

int read(char []cbuf);//將字符讀入數組。返回讀取的字符數。若是已經到達尾部,則返回-1。

void close();//關閉此流對象。釋放與之關聯的全部資源。

[java]  view plain  copy
 
  1. package Filereader;  
  2.   
  3. import java.io.FileReader;  
  4. import java.io.IOException;  
  5.   
  6. public class FileReaderDemo {  
  7.   
  8.     public static void main(String[] args) throws IOException {  
  9.         /** 
  10.          * 建立讀取字符數據的流對象。 
  11.          * 讀取路徑不正確時會拋 IOException 
  12.          * 用以個讀取流對象關聯一個已存在文件。 
  13.          */  
  14.         FileReader fr = new FileReader("demo.txt");  
  15.         /** 
  16.          * 用Reader中的read方法讀取字符。 
  17.          */  
  18.         /*int ch = fr.read(); 
  19.         System.out.print((char)ch); 
  20.         int ch1 = fr.read(); 
  21.         System.out.print((char)ch1); 
  22.         int ch2 = fr.read(); 
  23.         System.out.print((char)ch2);*/  
  24.         int ch = 0;  
  25.         while((ch = fr.read()) != -1){  
  26.             System.out.print((char)ch);  
  27.         }  
  28.         fr.close();  
  29.         }  
  30. }  


 

用FileReader  和 FileWriter 寫的複製文本文件的小程序。

[java]  view plain  copy
 
    1. package IOtest;  
    2.   
    3. import java.io.FileNotFoundException;  
    4. import java.io.FileReader;  
    5. import java.io.FileWriter;  
    6. import java.io.IOException;  
    7.   
    8. public class TxtCopy {  
    9.   
    10.     /** 
    11.      * 將C:\\的myHeart.txt copy 到 D:\\下 
    12.      *  
    13.      * 首先建立Reader讀取數據數據的 讀取流對象。 
    14.      *  
    15.      * @throws FileNotFoundException 
    16.      */  
    17.     public static void main(String[] args) {  
    18.         FileReader fr = null;  
    19.         FileWriter fw = null;  
    20.         try {  
    21.             fr = new FileReader("C:\\my.txt");  
    22.             fw = new FileWriter("D:\\you.txt");  
    23.             //讀一個字符,寫一個字符方法  
    24. //          int ch = 0;  
    25. //  
    26. //          while ((ch = fr.read()) != -1) {  
    27. //              fw.write(ch);  
    28. //          }  
    29.             char []buf = new char[1024];  
    30.             int len = 0;  
    31.             //讀一個數組大小,寫一個數組大小方法。  
    32.             while((len = fr.read(buf)) != -1){  
    33.                 fw.write(buf, 0, len);                
    34.             }  
    35.               
    36.         } catch (Exception e) {  
    37.             System.out.println(e.toString());  
    38.         } finally {  
    39.             if (fr != null)  
    40.                 try {  
    41.                     fr.close();  
    42.                 } catch (Exception e2) {  
    43.                     throw new RuntimeException("關閉失敗!");  
    44.                 }  
    45.             if (fw != null)  
    46.                 try {  
    47.                     fw.close();  
    48.                 } catch (IOException e) {  
    49.                     throw new RuntimeException("關閉失敗!");  
    50.                 }  
    51.         }  
    52.     }  
相關文章
相關標籤/搜索