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
,以便在读取文件时使用正确的编码。