【发布时间】:2015-12-13 20:29:03
【问题描述】:
如何使用 ByteBuffer 将整数 1432 写入 FileOutputStream 写入的文件中。由于 1432 占用超过一个字节,我们不能使用 write() 方法。 再者,后面使用 FileInputStream read() 方法时如何取回整数呢?
我尝试使用:
int i = 1432;
byte[] bytesi = ByteBuffer.allocate(4).putInt(i).array();
fileOS.write(bytesi);
但是当读取文件时:
int e = fileIS.read();
System.out.println(e);
int e1 = fileIS.read();
System.out.println(e1);
int e2 = fileIS.read();
System.out.println(e2);
int e3 = fileIS.read();
System.out.println(e3);
我得到如下输出:
255
132
201
255
【问题讨论】:
-
@jonasnas 那么将存储多少字节?如果我使用 fileOS.write(i)
-
好的,明白你的意思。你的意思是你不能直接使用它
标签: java fileinputstream fileoutputstream bytebuffer