Ion*_*rac 5 java binary fileinputstream
所以我正在为学校做一个项目,我需要在二进制数据文件中读取并使用它为角色制作统计数据,如力量和智慧.它的设置使前8位构成一个统计数据.
我想知道这样做的实际语法是什么.是否像阅读文本文件一样.
File file = new File("CharacterStats.dat");
Scanner inputScanner = new Scanner(file);
inputScanner.next();
Run Code Online (Sandbox Code Playgroud)
Ali*_*edi 11
如果您使用的是JDK 7+,最简单的方法是:
Path path = Paths.get("CharacterStats.dat");
byte[] fileContents = Files.readAllBytes(path);
Run Code Online (Sandbox Code Playgroud)
然后随心所欲地使用该数组.
由于一个字节包含8位,您可以访问前8位fileContents[0]
,然后可能使用按位运算控制程序的流程.
你可以使用这样的东西来代替扫描仪:
File file = new File("CharacterStats.dat");
FileInputStream fis = new FileInputStream(file);
ObjectInputStream ois = new ObjectInputStream(fis);
YourClass object = (YourClass) ois.readObject();
Run Code Online (Sandbox Code Playgroud)
在第三行中,您从流中创建一个新对象,并将其转换为您想要的对象。你必须这样做,因为 java 无法知道正在读入什么对象。
编辑:这是为了将二进制数据读入序列化对象。我可能误解了你的问题,因为你的“统计数据”是对象。
归档时间: |
|
查看次数: |
20774 次 |
最近记录: |