我正在编写一个java程序,我必须将所有整数写入文件。为了提高效率,我只想把int写成只有4个字节(我认为这将是一个二进制文件类的东西,但我不确定)并且在从文件读回时我只想直接读取整数(我不想读取字节然后将它们转换为整数)。 有没有办法做到这一点。
我想将数百万个整数写入文件,我希望该方法快速有效。
我是新手,所以请忍受我。
答案 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();