2012-04-08 7 views
1

ディスクファイルに一連の文字を書き込む必要があり、バルク書き込みを使用してディスクI/Oを削減したいと考えています。現在、File Writerクラスを使用しています。しかし、それは遅すぎる。大規模なバッファを維持して定期的にフラッシュするような、Javaで一括書き込みを実行する方法を教えてもらえますか?Java Bulk WRITE

+1

あなたはNIOを使用して見たことがありますか? –

+0

@HovercraftFullOfEels、あなたはCharBufferを意味しますか? – Arpssss

答えて

2

おそらくFileChannelに興味があります。 Channelは、BufferからバルクIO操作を実行するように設計されています。

例:

FileChannel fileOut = new FileOutputStream(file).getChannel(); 
fileOut.write(ByteBuffer.wrap("Whatever you want to write".getBytes())); 
+0

実際、私は大きなバッファ(サイズが言及できる)を維持し、それを定期的にフラッシュしたいと考えています。 – Arpssss

+0

@Arpssssあなたは 'ByteBuffer'を維持し、それを定期的にファイルシステムに書き込むことができます。あなたは 'ByteBuffer'をインラインで作成する必要はありません。 – Jeffrey

+0

ありがとうございます。 NIOのcharbufferを使用することは可能ですか? – Arpssss