将整数写为4个字节到文件java

时间:2012-06-04 16:27:16

标签: java file-io

我正在编写一个java程序,我必须将所有整数写入文件。为了提高效率,我只想把int写成只有4个字节(我认为这将是一个二进制文件类的东西,但我不确定)并且在从文件读回时我只想直接读取整数(我不想读取字节然后将它们转换为整数)。 有没有办法做到这一点。

我想将数百万个整数写入文件,我希望该方法快速有效。

我是新手,所以请忍受我。

3 个答案:

答案 0 :(得分:6)

使用DataOutputStream班级或RandomAccessFile。两者都提供了编写结构化二进制数据的方法,例如你想要的“int as 4 bytes”。

答案 1 :(得分:6)

 FileOutputStream fos = new FileOutputStream("numbers.dat");
 DataOutputStream dos = new DataOutputStream(fos);
 dos.writeInt(my_int);
 dos.flush();
 dos.close();

如果你想让缓冲的数据将文件流包装到缓冲流中,如下所示:

FileOutputStream fos = new FileOutputStream("numbers.dat");
BufferedOutputStream bos = new BufferedOutputStream(fos);
dos = new DataOutputStream(bos);

答案 2 :(得分:1)

  byte[] bytes = ByteBuffer.allocate(4).putInt(myIntVlaue).array();