English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
このチュートリアルでは、Java InputStreamクラスおよびそのメソッドについてサンプルを通じて学びます。
java.ioパッケージのInputStreamクラスは抽象スーパークラスであり、バイトの入力ストリームを表します。
InputStreamは抽象クラスであるため、それ自身は使用できませんが、そのサブクラスはデータの読み取りに使用できます。
InputStream機能を使用するために、そのサブクラスを使用することができます。そのサブクラスには:
次のチュートリアルでは、これらのサブクラスすべてについて学びます。
InputStreamを作成するために、まずjava.io.InputStreamパッケージをインポートする必要があります。パッケージをインポートすると、入力ストリームを作成できます。
// InputStreamを作成します InputStream object1 = new FileInputStream();
ここでは、FileInputStreamを使用して入力ストリームを作成しています。これは、InputStreamが抽象クラスであるため、InputStreamのオブジェクトを作成することはできません。
注意:また、InputStreamの他のサブクラスから入力ストリームを作成することもできます。
InputStreamクラスは、そのサブクラスによって実現される異なるメソッドを提供します。以下は、一般的に使用されるメソッドの一部です
read() - 入力ストリームから1バイトのデータを読み取ります
read(byte[] array) - 指定された配列にバイトを読み取り、保存します
available() - 入力ストリーム中の利用可能なバイト数を返します
mark() - データの場所をマークする入力ストリーム
reset() -マークポイントに設定された位置に制御ポイントを戻します
markSupported()- 流がmark()とreset()メソッドをサポートしているかどうかを確認します
skips() - 指定されたバイト数をスキップして流去します
close() - 入力ストリームを閉じる
以下はFileInputStreamクラスを使用してInputStreamのメソッドを実現する方法です。
名前がinput.txtのファイルが含んでいます。
これはファイル中の一行のテキストです。
FileInputStream(InputStreamのサブクラス)を使用してこのファイルを読み取ろうと試みます。
import java.io.FileInputStream; import java.io.InputStream; public class Main { public static void main(String args[]) { byte[] array = new byte[100]; try { InputStream input = new FileInputStream("input.txt"); System.out.println("ファイル中の利用可能なバイト: " + input.available()); //入力ストリームからバイトを読み取ります input.read(array); System.out.println("ファイルから読み取られたデータ: "); //バイト配列を文字列に変換する String data = new String(array); System.out.println(data); //入力ストリームを閉じる input.close(); } catch (Exception e) { e.getStackTrace(); } } }
出力結果
ファイルの利用可能なバイト: 35 ファイルから読み取られたデータ: これはファイル中の一行のテキストです。
上記の例では、FileInputStream クラスを使用して入力ストリームを作成しました。入力ストリームはファイルとinput.txtリンク。
InputStream input = new FileInputStream("input.txt");
次に、input.txtファイルからデータを読み取る際には、これらの方法を実装しました。
input.read(array); //入力ストリームからデータを読み取る input.close(); //入力ストリームを閉じる