我使用以下方法将.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
。数组中单词中的所有撇号都被?
替换。我该如何解决这个问题?
答案 0 :(得分:0)
您需要以特定的字符编码读取文件。您无法直接使用FileReader
执行此操作。
而是使用传递给指定字符集的FileInputStream
的{{1}}。在这种情况下,我们尝试使用InputStreamReader
。
UTF-8