温馨提示×

JavaBufferedReader能读取多种编码吗

小樊
88
2024-11-19 13:23:42
栏目: 编程语言

Java的BufferedReader本身并不能直接读取多种编码的文件。但是,你可以使用InputStreamReader来指定文件的编码,从而实现在BufferedReader中读取不同编码的文件。

以下是一个使用BufferedReaderInputStreamReader读取不同编码文件的示例:

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

0