Heim >Java >javaLernprogramm >Wie kann ich in Java einfach einen InputStream in einen OutputStream kopieren?

Wie kann ich in Java einfach einen InputStream in einen OutputStream kopieren?

Susan Sarandon
Susan SarandonOriginal
2024-12-17 15:37:16184Durchsuche

How Can I Easily Copy an InputStream to an OutputStream in Java?

Einfaches Schreiben von InputStream-Inhalten in OutputStream in Java

Das Kopieren des Inhalts eines InputStream in einen OutputStream in Java ist eine häufige Aufgabe. Obwohl es möglich ist, Byte-Puffercode zu schreiben, gibt es möglicherweise eine einfachere Lösung.

Stellen Sie sich ein Szenario vor, in dem Sie einen InputStream-Eingang und einen OutputStream-Ausgang haben. Der folgende Code veranschaulicht den herkömmlichen Ansatz:

byte[] buffer = new byte[1024];
int len = in.read(buffer);
while (len != -1) {
    out.write(buffer, 0, len);
    len = in.read(buffer);
}

Einführung in Apache IOUtils

Wie von WMR vorgeschlagen, stellt die Klasse org.apache.commons.io.IOUtils von Apache eine Methode namens copy(InputStream, OutputStream) bereit ), was diese Aufgabe vereinfacht.

Mit IOUtils wird der Code prägnanter und unkompliziert:

IOUtils.copy(in, out);
in.close();
out.close();

Obwohl die Verwendung von IOUtils empfohlen wird, können Sie, wenn Sie bestimmte Gründe haben, dies zu vermeiden, Ihren eigenen benutzerdefinierten Byte-Puffercode implementieren, wie im ursprünglichen Codeausschnitt gezeigt.

Das obige ist der detaillierte Inhalt vonWie kann ich in Java einfach einen InputStream in einen OutputStream kopieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn