java - 在 Java 中从文件输入数据时如何阻止扫描仪更改字节?

标签 java java.util.scanner

我正在使用 Java 中的 Scanner 实用程序从文件中输入数据,如下所示:

        File file = new File("mazes.txt");
        Scanner scan = new Scanner(file);  
        scan.useDelimiter("__________\n");  
        String record = scan.next();

但它正在将某些字节更改为其他字节。例如,记录字符串应该是一个具有十六进制值 80 的字节,Scanner 似乎将其转换为一个具有十六进制值 ac 的字节。如何在不像这样切换字节的情况下从文件中输入记录?

最佳答案

来自构造函数的文档:

Bytes from the file are converted into characters using the underlying platform's default charset.

如果您的文件有其他编码,您必须使用(例如):

 Scanner scan = new Scanner(file,"UTF-8");  

 Scanner scan = new Scanner(file,"ISO8859-1");

关于java - 在 Java 中从文件输入数据时如何阻止扫描仪更改字节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9401240/

相关文章:

java - 如何在 Java 中复制一个套接字(转移到另一个线程)?

java - @Mock 注释下的对象是否应该调用其构造函数?

java - 为什么我的程序不等待输入?

java - 扫描仪问题

java - 使用 java.util.Scanner 从文件中读取字符串并使用换行符作为分隔符时,字符串表现得很奇怪

java - 保存动态创建的按钮android

java - 如何比较两个对象数组元素?

java - 如何将 String 类型的用户输入添加到 Java 中的 ArrayList?

java - 取消签名已签名的 jar

java - Java 中的 Concat()