我如何读取java中的二进制数据文件

所以我正在为学校做一个项目,我需要在二进制数据文件中读取并使用它来为角色制作统计数据,如力量和智慧。 它的设置使前8位构成一个统计数据。

我想知道这样做的实际语法是什么。 是否像阅读文本文件一样。

File file = new File("CharacterStats.dat"); Scanner inputScanner = new Scanner(file); inputScanner.next(); 

如果您使用的是JDK 7+,最简单的方法是:

 Path path = Paths.get("CharacterStats.dat"); byte[] fileContents = Files.readAllBytes(path); 

然后随心所欲地使用该数组。

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

而不是扫描仪,你会使用这样的东西:

 File file = new File("CharacterStats.dat"); FileInputStream fis = new FileInputStream(file); ObjectInputStream ois = new ObjectInputStream(fis); YourClass object = (YourClass) ois.readObject(); 

第三行是从流中创建一个新对象,并将其强制转换为您想要的对象。 您必须这样做,因为java无法知道正在读取的对象。

编辑:这是用于读取二进制数据作为序列化对象。 我可能误解了你的问题,因为你的“统计数据”是对象。