15:26:26ツイート印刷コメントを書くJavaはデータをストリーム(流れ)と表現して扱います。ファイルからの読み込みであれ、ネットワークからの読み込みであれ、入力という流れであり、ファイルへの書き込みやネットワークへの書き出しも、出力という流れとして捉えます。入力ストリームの一番の基となるクラスは、InputStreamクラスで、すべての入力ストリームクラスのスーパークラスです。基礎部分なのですが、洗練されておらず、バイトデータを操作します。そのため、文字の扱いが一筋縄ではいきません。通常、テキストデータを操作するには、Readerクラスとそのサブクラスを使うことが効率的で安全です。このInputStreamは、ことネットワークデータの扱いでは重要になってきます。いうのも、ネットワークを流れるデータはバイトデータとして流れているからです。そこは、どんな文字コードで書かれたテキストデータが流れていてもバイトデータとして流れています。「データはバイトの流れ」であるという(機械に近いという意味で)低レベルの理解が必要です。前置きが長くなりましたが、そういったわけで、InputStreamはイメージしにくい、わかりにくいクラスです。僕もいつも悩みますので、簡単なサンプルコードを備忘録のために置いておきます。このサンプルは、第一引数に指定したURLアドレスのHTMLコードをそのまま読み込み、標準出力に出力します。第二引数に読み込みのバッファサイズを指定します。文字コードを適切に処理しないため、だいたい文字化けします。文字コードを適切に処理しないのは、バイトデータを素直にそのまま読み込むInputSteamの素直な性質です。ブロガーにより投稿されたものです。Japan編集部の見解・意向を示すものではありません。permission.×このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。