2012-04-05 4 views
-1

Welches ist die schnelle Möglichkeit, Textdatei in Java zu schreiben? Im Moment benutze ich diese Art und Weise eine Textdatei zu schreiben:Java-Text-Datei-E/A

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

wird Meine Dateigröße bis 3 GB.

Antwort

2

Spülen Sie den Puffer, nachdem ein signifikanter Datenblock geschrieben wurde. FileOutputStream sollte gerade für Textdateien ausreichen. Es ist nicht notwendig, DataOutputStream zu verwenden.

+0

Ich schreibe eine Zeile zur Zeit, wenn ich den Puffer leeren muss? – PapaSmurf

+0

BufferedWriter würde schließlich den Puffer leeren, sobald er voll ist. Es ist standardmäßig 8192 Bytes lang. Wenn Sie möchten, dass es schneller (jetzt) ​​geschrieben wird, spülen Sie es. – ahanin

+0

FileOutputStream ist der schnelle Weg, um Textdatei in Java zu schreiben? – PapaSmurf

1

wie etwa

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

oder

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

Sie brauchen nicht hier Dataoutputstream zu verwenden.

+0

RandomAccessFile ist besser als FileWriter? – PapaSmurf

+1

was meinst du mit "besser"? Schneller? –

+0

Ja, ich meine schneller! – PapaSmurf