Java的BufferedReader
本身并不能直接讀取多種編碼的文件。但是,你可以使用InputStreamReader
來指定文件的編碼,從而實現在BufferedReader
中讀取不同編碼的文件。
以下是一個使用BufferedReader
和InputStreamReader
讀取不同編碼文件的示例:
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class ReadFileWithEncoding {
public static void main(String[] args) {
String filePath = "path/to/your/file.txt";
String encoding = "UTF-8"; // 這里可以替換為其他編碼,如GBK、ISO-8859-1等
try (BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(filePath), encoding))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
在這個示例中,我們首先創建一個FileInputStream
對象,然后使用InputStreamReader
將其與指定的編碼(如UTF-8、GBK等)關聯起來。最后,我們將InputStreamReader
傳遞給BufferedReader
,以便在讀取文件時使用正確的編碼。