【发布时间】:2013-03-22 13:20:15
【问题描述】:
如何在没有二进制数的情况下将二进制数写入文件以减少零。
我是这样写的:
byte[] b = new BigInteger("1011010101010110", 2).toByteArray();
FileOutputStream fos = new FileOutputStream("file",true);
fos.write(b);
但是例如:当我写 0000001 时,它只在文件中写入 1 并忽略零,如果我写 001001001000 也会发生同样的情况,它会忽略左侧的零,从右到右读取 8 位离开了。
将二进制数字写入文件的正确方法是什么?如果这是正确的方法,我可能会尝试以错误的方式读取文件(我正在使用 InputStream 的 read() )
Ps-(8位必须是1个字节,所以不能写成字符串,因为每个数字都是1个字节。)
【问题讨论】:
-
写入为字符串。试试stackoverflow.com/questions/1053467/…,然后解析成二进制
-
out.write("0001".getBytes())
标签: java binary inputstream readfile fileoutputstream