ホームページ > Java > &#&チュートリアル > Java で InputStream コンテンツを OutputStream に効率的に転送するにはどうすればよいですか?

Java で InputStream コンテンツを OutputStream に効率的に転送するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-21 14:56:16
オリジナル
646 人が閲覧しました

How Can I Efficiently Transfer InputStream Content to OutputStream in Java?

Java で InputStream コンテンツを OutputStream に転送する簡単な方法

Java では、InputStream のコンテンツを OutputStream に書き込むためのシームレスな方法が必要な場合があります。驚くべきことに、この課題に対する直接的な解決策を見つけるのは難しい場合があります。バイト バッファ コードを手動で実装することは管理可能ですが、単純に注意を逃れる、より洗練されたアプローチがあるかもしれません。

「in」という名前の InputStream と「out」という名前の OutputStream を持つシナリオを考えてみましょう。コンテンツを効果的に転送するには、次のようなコードを直感的に作成するかもしれません:

byte[] buffer = new byte[1024];
int len = in.read(buffer);
while (len != -1) {
    out.write(buffer, 0, len);
    len = in.read(buffer);
}
ログイン後にコピー

ただし、WMR が提案しているように、この機能を実現するより簡潔な方法があります。 Apache の org.apache.commons.io.IOUtils を利用すると、'copy(InputStream, OutputStream)' メソッドを利用でき、転送タスクを簡単に処理できます。

このメソッドを使用すると、コードが

InputStream in;
OutputStream out;
IOUtils.copy(in, out);
in.close();
out.close();
ログイン後にコピー

面倒なバッファ管理は不要になり、たった 1 行ですべてが処理されます。そして、あなたの懸念に答えるために、このような単純なタスクに IOUtils の使用を避ける説得力のある理由はないようです。コードベースにこれを組み込むと、データ転送操作が大幅に簡素化されます。

以上がJava で InputStream コンテンツを OutputStream に効率的に転送するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート