我正在使用Java中的Scanner实用程序从文件中输入数据,如下所示:
File file = new File("mazes.txt");
Scanner scan = new Scanner(file);
scan.useDelimiter("__________\n");
String record = scan.next();
但是它将某些字节更改为其他字节。例如,如果记录字符串应该是具有十六进制值80
的字节,则Scanner似乎将其转换为十六进制值为ac
的字节。如何在不切换字节的情况下从文件中输入记录?
答案 0 :(得分:3)
从构造函数的文档:
使用底层文件将文件中的字节转换为字符 平台的默认字符集。
如果您的文件有其他编码,则必须使用(例如):
Scanner scan = new Scanner(file,"UTF-8");
或
Scanner scan = new Scanner(file,"ISO8859-1");
等。