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