2

DataInputStream から多数の int を読み取り、それらを配列にロードする方法を探しています。読み取る必要がある s の数は正確にわかっintていますが、単に反復するよりもクリーンな方法があればいいのにと思います。

メソッドを使用するだけで、バイト配列でこれを行う方法は既にありますが、にDataInputStream#read(byte[])相当するものはありませんint[]。長さを 4 倍したバイト配列を作成することで、明らかにデータをバイト配列に読み込むことができますが、実際にはints のデータが必要です。

私の見方では、使用できる可能性は 3 つあります。

  1. どういうわけか、データを直接ロードしますint[]
  2. どういうわけか を に変換byte[]int[]ます。
  3. 配列を反復処理し、単に使用しますreadInt()

最初の 2 つの解決策が非常に好まれていますが、現在のところ、どちらの方法もわかりません。反復せずにこれを行う簡単な方法はありますか?

4

2 に答える 2

1

これを行う唯一の方法は、単純な for ループと using のようreadInt()です。これが私が最終的に選択したことです。

于 2012-09-16T17:55:12.817 に答える
0

ByteBufferOSメモリにデータを残すことができるため、非常に高速に読み取ることができる を使用してみることができます。またgetInt()、整数を直接読み取って配列に入れることができるメソッドもあります。

于 2012-08-30T00:21:32.323 に答える