我尝试为此添加UTF-8,但它没有成功。如何用Java阅读俄文文件?
FileInputStream fstream1 = new FileInputStream("russian.txt");
DataInputStream in = new DataInputStream(fstream1);
BufferedReader br = new BufferedReader(new InputStreamReader(in,"UTF-8"));
答案 0 :(得分:5)
如果文件来自Windows PC,请尝试使用“windows-1251”或“Cp1251”作为字符集名称。
如果文件以某种方式处于MS-DOS编码中,请尝试使用“Cp866”。
这两种都是单字节编码,将文件类型更改为UTF-8(多字节)不会做任何事情。
如果所有其他方法都失败了,请使用十六进制编辑器并将这些文件的几行十六行转储给您。然后我们将检测编码。
答案 1 :(得分:3)
正如其他人提到的,你需要知道文件是如何编码的。一个简单的检查是(ab)使用Firefox作为编码检测器:answer to similar question
如果这是一个显示问题,那么它取决于你的意思"读取":在控制台中,在某些窗口中?另请参阅How can I make a String with cyrillic characters display correctly?