2012-04-05 5 views
-1

Javaでテキストファイルを高速に書き込む方法はどれですか?JavaテキストファイルI/O

FileOutputStream fos = new FileOutputStream('FileName');        
DataOutputStream dos = new DataOutputStream(fos); 
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(dos, Charset.forName(this.config.getCharset()))); 

マイファイルサイズは最大3 GBになります。現時点では iは、テキストファイルを書き込むためにこの方法を使用しています。

答えて

2

重要なチャンクのデータが書き込まれた後にバッファをフラッシュします。 FileOutputStreamはテキストファイルに十分なはずです。 DataOutputStreamを使用する必要はありません。

+0

バッファをフラッシュしなければならない時に、私は1行書きますか? – PapaSmurf

+0

BufferedWriterは、最終的にバッファがいっぱいになるとバッファをフラッシュします。デフォルトでは8192バイトです。速く書いて欲しいなら(今)、それをフラッシュしてください。 – ahanin

+0

FileOutputStreamは、Javaでテキストファイルを簡単に書き込む方法ですか? – PapaSmurf

1

方法について

FileOutputStream fos = new FileOutputStream('FileName'); 
BufferedOutputStream bof = new BufferedOutputStream(fos); 
bof.write("some text".getBytes()); // or just byte array 

または

FileWriter fstream = new FileWriter("out.txt"); 
    BufferedWriter out = new BufferedWriter(fstream); 
    out.write("Some text"); 

あなたがここにDataOutputStreamをを使用する必要はありません。

+0

RandomAccessFileはFileWriterより優れていますか? – PapaSmurf

+1

「より良い」とはどういう意味ですか?もっと早く? –

+0

はい、私はもっと速いです! – PapaSmurf