English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 基础教程

Java 流程制御

Java 配列

Java 面向オブジェクト(I)

Java 面向オブジェクト(II)

Java 面向オブジェクト(III)

Java 異常処理

Java リスト(List)

Java Queue(キュー)

Java Map集合

Java Set集合

Java入出力(I/O)

Java Reader/Writer

Javaの他のトピック

Java InputStream クラス

このチュートリアルでは、Java InputStreamクラスおよびそのメソッドについてサンプルを通じて学びます。

java.ioパッケージのInputStreamクラスは抽象スーパークラスであり、バイトの入力ストリームを表します。

InputStreamは抽象クラスであるため、それ自身は使用できませんが、そのサブクラスはデータの読み取りに使用できます。

InputStreamのサブクラス

InputStream機能を使用するために、そのサブクラスを使用することができます。そのサブクラスには:

次のチュートリアルでは、これらのサブクラスすべてについて学びます。

InputStreamを作成します

InputStreamを作成するために、まずjava.io.InputStreamパッケージをインポートする必要があります。パッケージをインポートすると、入力ストリームを作成できます。

// InputStreamを作成します
InputStream object1 = new FileInputStream();

ここでは、FileInputStreamを使用して入力ストリームを作成しています。これは、InputStreamが抽象クラスであるため、InputStreamのオブジェクトを作成することはできません。

注意:また、InputStreamの他のサブクラスから入力ストリームを作成することもできます。

InputStreamのメソッド

InputStreamクラスは、そのサブクラスによって実現される異なるメソッドを提供します。以下は、一般的に使用されるメソッドの一部です

  • read() - 入力ストリームから1バイトのデータを読み取ります

  • read(byte[] array) - 指定された配列にバイトを読み取り、保存します

  • available() - 入力ストリーム中の利用可能なバイト数を返します

  • mark() - データの場所をマークする入力ストリーム

  • reset() -マークポイントに設定された位置に制御ポイントを戻します

  • markSupported()- 流がmark()とreset()メソッドをサポートしているかどうかを確認します

  • skips() - 指定されたバイト数をスキップして流去します

  • close() - 入力ストリームを閉じる

例:InputStreamの使用方法FileInputStream

以下は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();             //入力ストリームを閉じる