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