This question already has answers here:
Java FileReader encoding issue

(6 个回答)


4年前关闭。




以下代码适用于具有英文内容但不适用于俄语内容的文件。如何使它也适用于俄语?
try(BufferedReader fileOut = new BufferedReader(new FileReader(file))){

        for(String line; (line = fileOut.readLine()) != null; ){
            if(line.contains(commandString))
                System.out.println(count + ": " + line);
            count++;
        }

    }

UPD:

我试着写:这仅在该行包含一个单词时才有效,然后输出,例如:“привет” 如果一行包含多个单词则不输出,例如“привет как дела”
 new BufferedReader(new InputStreamReader(new FileInputStream(file), "Cp1251"))

ps: 非常感谢解答

最佳答案

您需要指定编码才能读取俄语字符。不要使用 FileReader,因为它将使用默认平台编码。

而是使用

new BufferedReader(new InputStreamReader(fileDir), "UTF8");

关于java - 从文件中读取俄语字符(javaSE),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28283274/

10-11 20:00