Java 扫描仪不会扫描文本文件中的某些字母

Java 扫描仪不会扫描文本文件中的某些字母,java,java.util.scanner,bufferedreader,filereader,Java,Java.util.scanner,Bufferedreader,Filereader,我的扫描仪扫描文本文件时出现问题。当我使用这段代码时,我的输出是这样的。文本为捷克语,部分字母无法识别。你知道哪里有问题吗 代码: public static void main(String[] args) throws FileNotFoundException, IOException { File file = new File("C:/Users/Trend0226/" + "Documents/NetBeansPr

我的扫描仪扫描文本文件时出现问题。当我使用这段代码时,我的输出是这样的。文本为捷克语,部分字母无法识别。你知道哪里有问题吗

代码:

public static void main(String[] args) throws FileNotFoundException, IOException {

         File file = new File("C:/Users/Trend0226/" 
                        + "Documents/NetBeansProjects/ScreensTransition/"
                        + "src/guessword_text/Uvod_text.txt");


         Scanner sc = new Scanner(new BufferedReader(new FileReader(file)));

         while(sc.hasNextLine()) {
         String text = sc.nextLine();
             System.out.println(text);
         }

         sc.close();
}
输出:

    V�tejte ve h�e GuessWord
***********************�点播***********************

C�我是斯洛文尼亚人。Kdy� 人力资源�� 乌霍德 斯洛文尼亚语�sk�v� 1000千�. 内维��� ��stku,克特罗 M��e hr�� vyhr�万元�. K dispozici jsou 3N�pov�迪克特� 人力资源�� M��埃维尤��T李泽达酒店�� 新霍德内酒店� 斯洛沃,t�m专业人员�去拉斯肯�国际法协会。 人力资源�� M� kdykoliv公共关系�沃肯�它是hru的一个odn�圣西 斯沃吉odm�努

********************厄波佐恩�N� ********************

人力资源�� 马斯� B�t星�� 18 ti let,jinak se nem��E
Z��阿斯特尼特t�要进行hry

操作,请使用带字符集的重载构造函数:

Scanner sc=new Scanner(new BufferedReader(new FileReader(file)),“UTF-8”)

使用

Scanner sc = new Scanner(file, "Windows-1250");
FileReader是一个旧的实用程序类,它使用默认的平台编码。不可移植,仅适用于本地文件。也可以使用InputStreamReader


我想,Windows上的捷克语使用代码页1250。

请注意,编码可能不是UTF-8,然后使用好的编码是的,我使用UTF-8是因为它是一个很好的通用编码,能够捕获许多与其他特定编码重叠的字符。当我将UTF-8放入代码中时,IDe不接受它。IDe怎么说?请确保将其传递给Scanner构造函数,而不是FileReader或BufferedReader构造函数。我像您的示例中那样做了,并且它已经写给我,没有找到适合Scanner的构造函数