FileReader 用于以字元為機關讀取文本檔案
構造方法摘要 |
---|
在給定從中讀取資料的 File 的情況下建立一個新FileReader。 |
在給定從中讀取資料的 FileDescriptor 的情況下建立一個新 FileReader。 |
在給定從中讀取資料的檔案名的情況下建立一個新FileReader。 |
從InputStreamReader類繼承的方法:
方法摘要 | |
---|---|
| 關閉該流并釋放與之關聯的所有資源。 |
| 傳回此流使用的字元編碼的名稱。 |
| 讀取單個字元。傳回值為讀入字元對應的int值(0~65535) |
| 将字元讀入數組中的某一部分。傳回值為讀入字元個數 |
| 判斷此流是否已經準備好用于讀取。傳回值為讀入字元個數 |
FileWriter類用于将字元資料寫出到文本檔案中
構造方法摘要 |
---|
根據給定的 File 對象構造一個 FileWriter 對象。 |
根據給定的 File 對象構造一個 FileWriter 對象。 |
構造與某個檔案描述符相關聯的 FileWriter 對象。 |
根據給定的檔案名構造一個 FileWriter 對象。 |
根據給定的檔案名以及訓示是否附加寫入資料的 boolean 值來構造 FileWriter 對象。 |
從OutputStreamWriter類繼承的方法:
方法摘要 | |
---|---|
| 關閉此流,但要先重新整理它。 |
| 重新整理該流的緩沖。 |
| 傳回此流使用的字元編碼的名稱。 |
| 寫入字元數組的某一部分。 |
| 寫入單個字元。 |
| 寫入字元串的某一部分。 |
執行個體:
用這兩個類實行複制文本檔案的操作。
[java] view plain copy
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.IOException;
- class IODemo
- {
- public static void main(String[] args)
- {
- try
- {
- //使用FileReader和FileWriter進行檔案複制(操作的是字元)
- FileReader fr=new FileReader("a.txt");
- FileWriter fw=new FileWriter("c.txt");
- int read;
- //byte b[]=new byte[1024];
- read=fr.read();
- while(read!=-1)
- {
- fw.write(read);
- //read=fis.read(b);
- read=fr.read();
- }
- fr.close();
- fw.close();
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
- }
- }
上述例子也可以使用read()方法和write()方法逐個讀入和寫出字元
注:
1.在使用FileReader 對象進行檔案輸入操作的時,JVM先讀取本地文本文,然後将其格式轉化為Unicode編碼格式進行操作。再用FileWriter進行文本檔案輸出時則把Unicode編碼格式再轉換成本地(本地主機上)的編碼格式(如ASCII或者GBK等)。
2.FileReader與FileWriter兩個類和FileInputStream和FileOutputStream兩個類的操作方法基本相同,隻不過前者基于字元,後者基于位元組(byte),若操作的檔案不是文本檔案,則建議使用FileInputStream和FileOutputStream進行檔案的輸入輸出。