0

我正在使用 BufferedReader 从文本文件中读取一些字符串,但它不会读取特殊字符,如单引号“'”......这里是代码片段

 PrintWriter writer = new PrintWriter("input.txt");

     BufferedReader in = new BufferedReader(new FileReader("Input.txt"));
        while ((line = in.readLine()) != null) {
.
.
.
//some code
}

如果该行有一个类似这样的单引号:'A',然后我打印该行..它输出:“A”

4

1 回答 1

4

BufferedReader 可以读取任何具有标准编码的文本。当文件使用的编码与您用于读取文件的默认编码不匹配时,就会出现问题。这不是可以自动确定的,您需要知道正确的编码是什么才能可靠地读取它。

String filename = ...
Charset encoding = ...
try (BufferedReader br = new BufferedReader(
                             new InputStreamReader(
                                 new FileInputStream(filename), encoding))) {
    // read the br
}
于 2013-11-15T01:56:02.637 回答