這裡,Java的讀檔案和寫檔案都是基於字元流的,主要用到下面的幾個類:
1、FileReader----讀取字元流
2、FileWriter----寫入字元流
3、BufferedReader----緩衝指定檔案的輸入
該類的方法有:
void close() 關閉該流。
void mark(int readAheadLimit) 標記流中的當前位置。
boolean markSupported() 判斷此流是否支援 mark() 操作(它一定支援)
int read() 讀取單個字元。
int read(char[] cbuf, int off, int len) 將字元讀入數組的某一部分。
String readLine() 讀取一個文本行。
boolean ready() 判斷此流是否已準備好被讀取。
void reset() 將流重設為最新的標記。
long skip(long n) 跳過字元。
4、BufferedWriter----將緩衝對檔案的輸出
該類的方法有:
void close() 關閉該流。
void flush() 重新整理該流的緩衝。
void newLine() 寫入一個行分隔字元。
void write(char[] cbuf, int off, int len) 寫入字元數組的某一部分。
void write(int c) 寫入單個字元。
void write(String s, int off, int len) 寫入字串的某一部分。
舉個例子如下:
package aillo;import java.io.*;public class FileWriterReader {//功能:讀取f:/aillo.txt檔案的內容(一行一行讀),並將其內容寫入f:/jackie.txt中//知識點:java讀檔案、寫檔案---<以字元流方式> public static void main(String[] args) { try { FileReader fr = new FileReader("f:/aillo.txt");//建立FileReader對象,用來讀取字元流 BufferedReader br = new BufferedReader(fr); //緩衝指定檔案的輸入 FileWriter fw = new FileWriter("f:/jackie.txt");//建立FileWriter對象,用來寫入字元流 BufferedWriter bw = new BufferedWriter(fw); //將緩衝對檔案的輸出 String myreadline; //定義一個String類型的變數,用來每次讀取一行 while (br.ready()) { myreadline = br.readLine();//讀取一行 bw.write(myreadline); //寫入檔案 bw.newLine(); System.out.println(myreadline);//在螢幕上輸出 } bw.flush(); //重新整理該流的緩衝,寫完檔案要記得重新整理流,這樣內容才能寫進檔案。另外,close()也有將內容寫進檔案的作用。 bw.close(); br.close(); fw.close(); br.close(); fr.close(); } catch (IOException e) { e.printStackTrace(); } }}**********************************************************