【发布时间】:2017-12-03 21:52:16
【问题描述】:
对于我的 Java 程序,我得到了需要写入文件的字节数组列表。我之前尝试过的是
FileWriter fw = new FileWriter("file.out");
BufferedWriter bw = new BufferedWriter(fw);
bw.write(new String(data));
bw.flush();
数据是列表中的一个字节[]。 因为我将它转换为字符串,所以我假设我失去了二进制文件的正确性。
所以我现在用 FileOutputStream 试试。
File myFile = new File("file.out");
FileOutputStream fos = new FileOutputStream(myFile);
BufferedOutputStream bos = new BufferedOutputStream(fos);
bos.write(data);
bos.flush();
还有数据是列表中的一个字节[]。
我的问题是,我现在如何检查我的写入文件是否真的是二进制正确的。如果我将文件的每一行读取为 byte[] 并将其与输入进行比较,它会完全一样吗?
【问题讨论】:
-
你考虑过单元测试吗?
-
是的,只有二进制文件没有行,把整个文件读入一个字节数组,比较一下,应该是一样的。
-
如果你是linux用户,你可以使用xxd命令查看二进制文件的数据
-
计算并比较输入和文件内容的 md5 哈希?
标签: java