5

私は、すべての整数をファイルに書き込まなければならないJavaプログラムを書いています。より効率的にするために、intを4バイト(バイナリファイルのようなものになると思いますが、わかりません)として書き込み、ファイルから読み戻すときに整数を直接読み取りたいだけです(バイトを読み取ってから整数に変換したくない)。それを行う方法はありますか?

何百万もの整数をファイルに書き込みたいのですが、メソッドを高速かつ効率的にしたいと思っています。

初めてですので、我慢してください。

4

3 に答える 3

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);
于 2012-06-04T16:32:43.407 に答える
6

DataOutputStreamクラスまたはを使用しRandomAccessFileます。どちらも、構造化されたバイナリデータを書き込むためのメソッドを提供します。たとえば、必要な「intas4bytes」などです。

于 2012-06-04T16:30:47.197 に答える
1
  byte[] bytes = ByteBuffer.allocate(4).putInt(myIntVlaue).array();
于 2012-06-04T16:34:53.340 に答える