※ ChatGPTを利用し、要約された質問です(原文:InputStreamはreadが1回しかできない?)
1つのInputStreamから連続して2つ以上のOutputStreamに書くことは可能か?
このQ&Aのポイント
1つのFileInputStreamのクラスから2つのFileOutputStreamのクラスへwriteし、ファイル2つを作成しようとしています。
OutputStream1へwriteし、次にOutputStream2へwriteしたとき、両方のStreamで作成したファイルが空(0KB)の状態になってしまいます。
1つのInputStreamから連続して2つ以上のOutputStreamに書くことはできないのか、また他の方法はあるのか教えてください。
InputStreamはreadが1回しかできない?
1つのFileInputStreamのクラスから2つのFileOutputStreamのクラス
(仮にOutputStream1、OutputStream2とします)へwriteし、
ファイル2つを作成しようとしています。
最初にOutputStream1へwriteし、次にOutputStream2へwriteしたとき、
両方のStreamで作成したファイルが空(0KB)の状態になってしまいます。
1つのInputStreamから連続して2つ以上のOutputStreamに書くことはいけない
ことなのでしょうか?(どうしてもやりたいのですが)
もしかしてFileInputStreamの完全なコピー(cloneじゃなくシリアライズして
複製を作成する)を作る方法しかないのでしょうか?とはいうものの
シリアライズできるInputStreamクラスを作成できず困っていたりします。
(あとOutputStreamをInputStreamに変換できたらなぁとかも思うの
ですが無理ですよね・・・?)
どなたかご存じの方、是非ご教授下さい。
お礼
回答&アドバイスありがとうございました。 大変わかりやすく説明していただき、長い間の疑問であった部分がまさに 霧が晴れるかのごとくすっきりとしました。(現在感動中) シリアライズに関してはできないのだろうとは思っていたのですが thelmaさんのご説明のおかげで納得することができました。 参考URLもとても参考になりますね。あとでじっくりと読みたいと思います。 本来やりたいことは"今回教えていただいた内容の変形"+"その他たくさんの内容"。 ですので、全てがうまく流れたら「できました!」のお知らせも兼ねてポイント発行 させていただきたいと思います。