Java 读取二进制文件

Java 读取二进制文件,java,file,binary,Java,File,Binary,我有一个问题需要帮助。 我想读一个二进制文件 该文件的内容包括: 00000000 10001100 我使用以下代码来实现我的目标: InputStream is = new FileInputStream(new File("/test.bin")); DataInputStream din = new DataInputStream(is); System.out.println(din.readByte() & 0xFF); 我希望输出是0,因为8个零的无符号字节是0。但是代码打

我有一个问题需要帮助。 我想读一个二进制文件

该文件的内容包括: 00000000 10001100

我使用以下代码来实现我的目标:

InputStream is = new FileInputStream(new File("/test.bin"));
DataInputStream din = new DataInputStream(is);
System.out.println(din.readByte() & 0xFF);
我希望输出是0,因为8个零的无符号字节是0。但是代码打印48


有人能告诉我我做错了什么,并解释我怎么能得到48的输出吗

您确定没有将“0”意外保存为文件中的第一个字符吗?文本字符“0”的ASCII是48。

在十六进制编辑器中查看您的文件。这不是一个包含字符
00000000 10001100
的文本文件吗?当你用记事本之类的东西打开它的时候,你看到它们了吗?如果是,那么它肯定是一个文本文件,而不是二进制文件:)