[解決済み] Java InputStreamの内容をOutputStreamに書き出す簡単な方法
2022-03-21 19:22:34
質問
今日、驚いたことに
InputStream
を
OutputStream
をJavaで作成しました。もちろん、バイトバッファコードを書くのは難しくありませんが、私の人生を楽にする(そしてコードを明確にする)何かが欠けているのではないかと思っています。
そこで
InputStream
in
と
OutputStream
out
のように、もっと簡単な書き方はないでしょうか?
byte[] buffer = new byte[1024];
int len = in.read(buffer);
while (len != -1) {
out.write(buffer, 0, len);
len = in.read(buffer);
}
解決方法は?
ジャバ9
Java 9以降。
InputStream
というメソッドが用意されています。
transferTo
を次のようなシグネチャで記述します。
public long transferTo(OutputStream out) throws IOException
として
ドキュメント
と記載されています。
transferTo
になります。
この入力ストリームからすべてのバイトを読み込み、そのバイトを 与えられた出力ストリームを、読み込んだ順に並べる。戻り値として、この 入力ストリームはストリームの終端となる。このメソッドは のどちらかのストリームを使用する。
このメソッドは、読み込みを無制限にブロックすることができます。 入力ストリームに書き込んだり、出力ストリームに書き込んだりすることができます。この場合の動作は 入出力ストリームが非同期にクローズされた場合や 転送中にスレッドが中断された場合、高度に入力および出力 ストリームに依存するため、指定されません。
そのため、Javaのコンテンツを書き込むには
InputStream
を
OutputStream
と書くことができます。
input.transferTo(output);
関連
-
javaの実行中に「javaの例外が発生しました」と表示された場合はどうすればよいですか?
-
をインスタンス化することができません。
-
このラインで複数のマーカーを解決する方法
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Java の配列を表示する最も簡単な方法は何ですか?
-
[解決済み] ファイルの内容からJavaの文字列を作成するにはどうすればよいですか?
-
[解決済み] JavaでStringをInputStreamに変換する方法を教えてください。
-
[解決済み] Javaで正しいマイクロベンチマークを書くには?
-
[解決済み] JavaでInputStreamをバイト配列に変換する
-
[解決済み] OutputStreamをInputStreamに変換する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
スタイルが読み込まれず、ブラウザコンソールでエラーが報告される。リソースはスタイルシートとして解釈されますが、MIMEタイプtext/htmlで転送されます。
-
eclipse アクセス制限です。タイプ 'xxx' は API ではありません(必須ライブラリ '' の制限)。
-
Dateが型に解決できない問題を解決する
-
をインスタンス化することができません。
-
エラーの解決方法 jarfile XXX.jarにアクセスできません。
-
Spring BootのテストメソッドFailed to load ApplicationContextの問題を解決する
-
xxx:jarのアーティファクトディスクリプタの読み込みに失敗した問題は解決しました。
-
自動配線された依存性のインジェクションに失敗しました。
-
あるコードに出会いましたが、何に使うのか理解できません。 List<String> list = new ArrayList<String>() { { a
-
テストが見つかりませんでした