2012-04-05 32 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。

回答

2

寫入大量數據後清空緩衝區。 FileOutputStream應該足夠用於文本文件。沒有必要使用DataOutputStream

+0

我寫了一行,當我必須沖洗緩衝區? – PapaSmurf 2012-04-05 08:58:12

+0

BufferedWriter最終會在緩衝區填滿後刷新緩衝區。它的默認長度是8192字節。如果您希望將其寫入更快(現在),請將其刷新。 – ahanin 2012-04-05 09:04:04

+0

FileOutputStream是在java中編寫文本文件的快速方法嗎? – PapaSmurf 2012-04-05 09:08:30

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 2012-04-05 08:58:39

+1

「更好」是什麼意思?更快? – 2012-04-05 09:21:11

+0

是的,我的意思是更快! – PapaSmurf 2012-04-05 09:43:28