Java 读取二进制文件只产生空值

Java 读取二进制文件只产生空值,java,binaryfiles,Java,Binaryfiles,当我尝试读取二进制文件并打印其内容时,控制台输出中只会产生一堆空值 我在网上找到了很多不同的方法和想法,但没有一个对我有效,我一直得到相同的“空”结果 该文件是一个二进制文件,包含“n”个字节。每一个都应该被阅读和打印出来。在main方法中,我调用此方法并将文件路径作为参数传递。任何形式的帮助都将不胜感激!谢谢。我无法从你的问题中理解问题的根源。就像@GhostCat建议的那样,您应该创建一个最小的示例 但我相信这可能会解决你的问题: Path path = Paths.get("SomeBin

当我尝试读取二进制文件并打印其内容时,控制台输出中只会产生一堆空值

我在网上找到了很多不同的方法和想法,但没有一个对我有效,我一直得到相同的“空”结果


该文件是一个二进制文件,包含“n”个字节。每一个都应该被阅读和打印出来。在main方法中,我调用此方法并将文件路径作为参数传递。任何形式的帮助都将不胜感激!谢谢。

我无法从你的问题中理解问题的根源。就像@GhostCat建议的那样,您应该创建一个最小的示例

但我相信这可能会解决你的问题:

Path path = Paths.get("SomeBinaryFile.dat");
byte[] fileContents =  Files.readAllBytes(path);
然后用这个数组做任何你想做的事情

由于一个字节包含8位,您可以通过fileContents[0]访问前8位,然后可能使用逐位操作控制程序流

有关
readAllBytes(…)
的更多信息,请点击此处:


希望这有帮助。祝你好运。

如果你在控制台上看到
null
,那是因为编写文件的代码将文本
“null”
放在文件中。看看写这个文件的代码,里面有些错误。
DataInputStream
上的方法
readUTF
无法返回值
null
(请参阅Javadoc),但它可以返回字符串
“null”
。请阅读“如何创建一个”。然后使用链接改进您的问题(不要通过评论添加更多信息)。否则,我们无法回答您的问题并帮助您。
Path path = Paths.get("SomeBinaryFile.dat");
byte[] fileContents =  Files.readAllBytes(path);