Java - 从文本文件中读取单词到数组时的撇号错误

时间:2013-11-29 00:07:05

标签: java arrays

我使用以下方法将.txt文件中的单词读入数组。

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class FileArrayProvider {

public String[] readLines(String filename) throws IOException {
    FileReader fileReader = new FileReader(filename);
    BufferedReader bufferedReader = new BufferedReader(fileReader);
    List<String> lines = new ArrayList<String>();
    String line = null;
    while ((line = bufferedReader.readLine()) != null) {
        lines.add(line);
    }
    bufferedReader.close();
    return lines.toArray(new String[lines.size()]);
}
}

我的.txt文件中的第一个单词是“不能”。但是,当我调用此方法并在返回的数组中打印第一个单词时,我得到can?t。数组中单词中的所有撇号都被?替换。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您需要以特定的字符编码读取文件。您无法直接使用FileReader执行此操作。

而是使用传递给指定字符集的FileInputStream的{​​{1}}。在这种情况下,我们尝试使用InputStreamReader

UTF-8