3

Java コードの一部を移植しており、反転できるようにする必要があります ( javax.nio.Buffer.flip())。

私は byte[] を使用してデータを保存していますが、Buffer クラスの下で byte[] も使用していると信じているため、Buffer と同じようにこれらのバイト配列を反転させたいと考えています。

ありがとう

4

2 に答える 2

1

java.nio.NET のパッケージに直接相当するものはありません。非同期 IO は通常Stream.BeginRead/EndReadで処理されますが、実際には同じモデルではありません。何をしようとしているのか教えていただけますか?

編集: やろうとしていることの低レベルの詳細を提供しましたがnio、.NET にはクラスに相当するものがないため、自分で記述する必要があります(不可能ではありませんが、面倒です)。 )または別の上位レベルのタイプを使用してください。たとえば、使用できる場合がありますMemoryStream-それに書き込み、次に最初に戻ります。これは、バイト バッファの反転に少し似ています。ただし、より高いレベルの目標に関する情報がなければ、それが適切かどうかはわかりません。もっと良い方法があるかもしれません。

于 2009-03-03T18:38:45.470 に答える
0

ByteBufferbyte[](たとえば、から作成ByteBuffer.wrap) または非 Java ヒープ メモリ (で作成) を使用できByteBuffer.allocateDirectます。byte[]で基礎を得ることができますByteBuffer.array。ただしflip、バッファに対して および同様のメソッドを呼び出しても、実際のデータは変更されません。代わりに、データに関連付けられたオフセットが変更されます。したがって、byteコードが関連付けているオフセットを変更することと同等です。

于 2009-03-03T19:18:46.420 に答える