Effiziente Möglichkeit, InputStream in Java in eine Datei zu schreiben 6

8

Ich werde den Eingangsstrom von der Third-Party-Bibliothek zu meiner Anwendung bekommen. Ich muss diesen Eingabestrom in eine Datei schreiben.

Im Folgenden ist das Code-Snippet, das ich ausprobiert habe:

%Vor%

Gibt es einen besseren Ansatz dafür?

    
Awesome 26.03.2014, 14:22
quelle

3 Antworten

25

Da Sie an Java 6 festhalten, tun Sie sich einen Gefallen und verwenden Sie Guava und seine %Co_de% :

%Vor%

Hätten Sie Java 7 verwendet, wäre die Lösung so einfach gewesen wie:

%Vor%

Und Closer wäre automatisch für dich als "Bonus" geschlossen worden; yourInputStream hätte Files alleine behandelt.

    
fge 26.03.2014, 14:23
quelle
2

Wenn Sie nicht auf Java 7 sind und die Lösung von fge nicht verwenden können, möchten Sie vielleicht Ihren OutputStream in einen BufferedOutputStream

einbinden %Vor%

Ein solcher gepufferter Ausgabestrom schreibt Bytes in Blöcke in die Datei, was effizienter ist als das Schreiben von Byte pro Byte.

    
Melou 26.03.2014 14:36
quelle
1

Es kann mit einem OutputStreamWriter sauberer werden:

%Vor%

Anstatt eine Zeichenkette zu schreiben, können Sie einen Scanner auf Ihrem inputStream verwenden

%Vor%     
Brad Gardner 26.03.2014 14:27
quelle

Tags und Links