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

时间:2014-10-02 09:49:54

标签: java java.util.scanner bufferedreader filereader

扫描仪扫描我的文本文件时遇到问题。当我使用此代码时,我的输出看起来像那样。文本是捷克语,有些字母无法识别。知道哪里可能是问题?

代码:

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

***********************�vod********************** *

C�lemhryje uhodnout slovo。 Kdy�hr��ohhodne  slovoz�sk�v�1000K�。 Nejvy������stku,kterou  m��eehr��vyhr�tje 10000K�。 K dispozici jsou  3n�pov�dy,kter�hr��m��evyu��t。 Zda-lihr��  neuhodneprvn�slovo,t�mpron�gohraskon�ila。  Hr��m�kdykolivpr�vouo�itruruaodn�stsi  svojododm�nu。

********************Upozorn�n�********************

Hr��mus�b�tstar��18-ti let,jinaksenem��e  z��astnitt�tohry

2 个答案:

答案 0 :(得分:1)

将重载的构造函数与charset一起使用:

Scanner sc = new Scanner(new BufferedReader(new FileReader(file)), "UTF-8");

答案 1 :(得分:1)

使用

Scanner sc = new Scanner(file, "Windows-1250");

FileReader是一个使用默认平台编码的旧实用程序类。不可移植,仅适用于本地文件。也可以使用InputStreamReader。

我认为Windows上的捷克语使用代码页1250。