我有一个扫描程序类,将文件读取为字符串。具有此字符“®”的任何文件都会导致其失败。我是Java的新手,是否有更好的方法来读取此文件,以便可以接受字符?
public void readFile(String fileName)
{
fileText = "";
try
{
Scanner file = new Scanner(new File(fileName));
while (file.hasNextLine())
{
String line = file.nextLine();
fileText += line +"\r"+"\n";
}
file.close();
}
catch (Exception e)
{
System.out.println(e);
}
}
最佳答案
默认情况下,扫描程序使用平台默认的字符编码,这可能与文件的字符编码不匹配。 JavaDoc状态:
首先确定文件中编码的字符,这可以通过Linux命令行实用程序file -i
完成。将正确的编码传递到扫描仪中。 Java 7在java.nio.charset.StandardCharsets中包含一些知名字符集的预定义常量。
Scanner file = new Scanner(new File(fileName), StandardCharsets.UTF_8);
关于java - Java扫描器类错误字符 “®”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40664153/