在 Java 中,進行文件操作是一個常見的任務。FileReader
和 FileWriter
是用于讀取和寫入文本文件的類,它們提供了一種方便的方法來處理文件內容。本文將介紹如何使用 FileReader
和 FileWriter
,并提供一些示例代碼。
FileReader
類概述
FileReader
類是 Java 中用于讀取文件內容的類,它繼承自 InputStreamReader
。FileReader
主要用于讀取文本文件,按字符流的方式讀取文件內容。
FileReader
的基本用法
要使用 FileReader
讀取文件,需要先創建一個 FileReader
對象,然后通過 read()
方法讀取文件內容。
import java.io.FileReader;
import java.io.IOException;public class FileReaderExample {public static void main(String[] args) {try (FileReader reader = new FileReader("example.txt")) {int character;while ((character = reader.read()) != -1) {System.out.print((char) character);}} catch (IOException e) {e.printStackTrace();}}
}
在這個示例中,我們使用 FileReader
逐字符讀取 example.txt
文件的內容,并將其打印到控制臺。注意,我們使用了 try-with-resources
語句來自動關閉 FileReader
。
讀取文件到字符數組
FileReader
還可以將文件內容讀取到字符數組中,這在需要一次讀取多個字符時非常有用。
import java.io.FileReader;
import java.io.IOException;public class FileReaderCharArrayExample {public static void main(String[] args) {try (FileReader reader = new FileReader("example.txt")) {char[] buffer = new char[100];int numCharsRead;while ((numCharsRead = reader.read(buffer)) != -1) {System.out.print(new String(buffer, 0, numCharsRead));}} catch (IOException e) {e.printStackTrace();}}
}
在這個示例中,我們使用一個字符數組作為緩沖區,逐塊讀取文件內容,并將其轉換為字符串打印到控制臺。
FileWriter
類概述
FileWriter
類是 Java 中用于寫入文件內容的類,它繼承自 OutputStreamWriter
。FileWriter
主要用于將文本數據寫入文件,按字符流的方式寫入文件內容。
FileWriter
的基本用法
要使用 FileWriter
寫入文件,需要先創建一個 FileWriter
對象,然后通過 write()
方法寫入文件內容。
import java.io.FileWriter;
import java.io.IOException;public class FileWriterExample {public static void main(String[] args) {try (FileWriter writer = new FileWriter("example.txt")) {writer.write("Hello, World!");} catch (IOException e) {e.printStackTrace();}}
}
在這個示例中,我們使用 FileWriter
將字符串 “Hello, World!” 寫入 example.txt
文件。使用 try-with-resources
語句確保 FileWriter
在完成寫操作后自動關閉。
追加寫入文件
FileWriter
還支持追加寫入文件,只需在構造函數中傳入 true
作為第二個參數即可。
import java.io.FileWriter;
import java.io.IOException;public class FileWriterAppendExample {public static void main(String[] args) {try (FileWriter writer = new FileWriter("example.txt", true)) {writer.write("Appended text.");} catch (IOException e) {e.printStackTrace();}}
}
在這個示例中,我們將字符串 “Appended text.” 追加寫入 example.txt
文件,而不是覆蓋原有內容。
結合使用 FileReader
和 FileWriter
在實際開發中,常常需要結合使用 FileReader
和 FileWriter
來讀取和寫入文件內容。以下是一個示例,展示如何讀取一個文件的內容并將其寫入另一個文件。
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;public class FileCopyExample {public static void main(String[] args) {try (FileReader reader = new FileReader("input.txt");FileWriter writer = new FileWriter("output.txt")) {int character;while ((character = reader.read()) != -1) {writer.write(character);}} catch (IOException e) {e.printStackTrace();}}
}
在這個示例中,我們使用 FileReader
逐字符讀取 input.txt
文件的內容,并使用 FileWriter
將其寫入 output.txt
文件。通過 try-with-resources
語句確保兩個流都能在操作完成后自動關閉。
總結
FileReader
和 FileWriter
是 Java 中用于處理文件 I/O 的基礎類,它們提供了簡單而高效的方法來讀取和寫入文本文件。