質問

私はいくつかのデータ・アクセス・テストの実装を書いていますし、私は、ファイルの内容へのランダムアクセスを必要とします。ここでは、コードがあります:

RandomAccessFile randomAccessFile = new RandomAccessFile(file, "rwd");
final byte b[] = IOUtils.toByteArray(source);
randomAccessFile.write(b, (int) offset, size);

ここで、オフセットは、long型ました。 なぜにRandomAccessFile方法を提供しません。

public void write(byte b[], long off, int len)

どのようにこの問題を上書きするには?

役に立ちましたか?

解決

私はあなたがseek方法を探していると思います。

writeのオフセット配列にオフセットされています。配列はintオフセットを持っています。そこ「長い配列」の提案されているが、これらが実装された、あなたはまだ、過負荷が必要と思います。

NIOにマッピングファイルが何らかの理由で同等のMappedByteBuffer.positionだけintを使用するという問題がでています。 CR 6347833 の(9票)を参照してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top