モジュール java.desktop
パッケージ javax.imageio.stream

クラスImageInputStreamImpl

java.lang.Object
javax.imageio.stream.ImageInputStreamImpl
すべての実装されたインタフェース:
Closeable, DataInput, AutoCloseable, ImageInputStream
直系の既知のサブクラス:
FileCacheImageInputStream, FileImageInputStream, ImageOutputStreamImpl, MemoryCacheImageInputStream

public abstract class ImageInputStreamImpl
extends Object
implements ImageInputStream
ImageInputStreamインタフェースを実装する抽象クラスです。 このクラスの目的は、サブクラスで実装する必要のあるメソッドの数を減らすことです。

特に、このクラスはバイト順の解釈、バッファリング、マーク付けとリセット、破棄、クローズ、および廃棄の大半またはすべてを処理します。

  • フィールドのサマリー

    フィールド 
    修飾子と型 フィールド 説明
    protected int bitOffset
    ストリーム内の現在のビット・オフセットです。
    protected ByteOrder byteOrder
    列挙クラスjava.nio.ByteOrderのインスタンスで表されるストリームのバイト順で、ByteOrder.BIG_ENDIANはネットワーク・バイト順、ByteOrder.LITTLE_ENDIANは逆順を示します。
    protected long flushedPos
    それより前のデータが破棄される位置です。
    protected long streamPos
    ストリーム内の現在の読込み位置です。
  • コンストラクタのサマリー

    コンストラクタ 
    コンストラクタ 説明
    ImageInputStreamImpl()
    ImageInputStreamImplを構築します。
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    protected void checkClosed()
    ストリームが閉じられていた場合はIOExceptionをスローします。
    protected void finalize()
    Deprecated.
    finalizeメソッドは推奨されていません。
    boolean isCached()
    デフォルトの実装ではfalseを返します。
    boolean isCachedFile()
    デフォルトの実装ではfalseを返します。
    boolean isCachedMemory()
    デフォルトの実装ではfalseを返します。
    long length()
    ストリームが未知の長さであることを示す-1Lを返します。
    void mark()
    マーク付けされた位置のスタック上に現在のストリーム位置をプッシュします。
    abstract int read()
    ストリームから1バイトを読み込み、それを0から255までのintとして返します。
    int read​(byte[] b)
    read(b, 0, b.length)を呼び出す簡易メソッドです。
    abstract int read​(byte[] b, int off, int len)
    ストリームから最大lenバイトを読み込み、bにインデックスoffから格納します。
    void reset()
    マーク付けされた位置のスタックから現在のストリーム・バイトおよびビット位置をリセットします。
    int skipBytes​(int n)
    seek(getStreamPosition()+n)を呼び出して、現在のストリーム位置を前進させます。
    long skipBytes​(long n)
    seek(getStreamPosition()+n)を呼び出して、現在のストリーム位置を前進させます。

    クラス java.lang.Objectで宣言されたメソッド

    clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • フィールド詳細

    • byteOrder

      protected ByteOrder byteOrder
      列挙クラスjava.nio.ByteOrderのインスタンスで表されるストリームのバイト順で、ByteOrder.BIG_ENDIANはネットワーク・バイト順、ByteOrder.LITTLE_ENDIANは逆順を示します。 デフォルト値はByteOrder.BIG_ENDIANです。
    • streamPos

      protected long streamPos
      ストリーム内の現在の読込み位置です。 サブクラスがオーバーライドする、読込み位置を変更するすべてのメソッドからこの値を保護し、現状のままに保つことは、サブクラスの責任です。
    • bitOffset

      protected int bitOffset
      ストリーム内の現在のビット・オフセットです。 サブクラスがオーバーライドする、ビット・オフセットを変更するすべてのメソッドからこの値を保護し、現状のままに保つことは、サブクラスの責任です。
    • flushedPos

      protected long flushedPos
      それより前のデータが破棄される位置です。 これより前の位置にシークすることはできません。flushedPosは常に0以上になります。
  • コンストラクタの詳細

  • メソッドの詳細

    • checkClosed

      protected final void checkClosed() throws IOException
      ストリームが閉じられていた場合はIOExceptionをスローします。 サブクラスは、ストリームが開いていることが必要などのメソッドからも、このメソッドを呼び出すことができます。
      例外:
      IOException - ストリームが閉じられている場合。
    • read

      public abstract int read() throws IOException
      ストリームから1バイトを読み込み、それを0から255までのintとして返します。 EOFに達すると-1を返します。

      サブクラスでこのメソッドを実装する必要があります。 サブクラス実装で終了する前にストリーム位置を更新します。

      ストリーム内のビット・オフセットは、読込みを行う前に0にリセットする必要があります。

      定義:
      read、インタフェース: ImageInputStream
      戻り値:
      ストリーム内の次のバイトの値。または、EOFに達した場合は-1
      例外:
      IOException - ストリームが閉じられている場合。
    • read

      public int read​(byte[] b) throws IOException
      read(b, 0, b.length)を呼び出す簡易メソッドです。

      ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。

      定義:
      read、インタフェース: ImageInputStream
      パラメータ:
      b - 書き込まれるバイト配列。
      戻り値:
      実際に読み込まれたバイト数、またはEOFを示す-1
      例外:
      NullPointerException - bnullである場合。
      IOException - 入出力エラーが発生した場合。
    • read

      public abstract int read​(byte[] b, int off, int len) throws IOException
      ストリームから最大lenバイトを読み込み、bにインデックスoffから格納します。 ストリームの終わりに達したためにバイトを読み込めない場合は、-1を返します。

      ストリーム内のビット・オフセットは、読込みを行う前に0にリセットする必要があります。

      サブクラスでこのメソッドを実装する必要があります。 サブクラス実装で終了する前にストリーム位置を更新します。

      定義:
      read、インタフェース: ImageInputStream
      パラメータ:
      b - 書き込まれるバイト配列。
      off - 書込み先のb内の開始位置。
      len - 読み込む最大バイト数。
      戻り値:
      実際に読み込まれたバイト数、またはEOFを示す-1
      例外:
      IndexOutOfBoundsException - offが負の値の場合、lenが負の値の場合、またはoff+lenb.lengthより大きい場合。
      NullPointerException - bnullである場合。
      IOException - 入出力エラーが発生した場合。
    • length

      public long length()
      ストリームが未知の長さであることを示す-1Lを返します。 サブクラスでこのメソッドをオーバーライドして、実際の長さの情報を指定する必要があります。
      定義:
      length、インタフェース: ImageInputStream
      戻り値:
      未知の長さを示す -1L
    • skipBytes

      public int skipBytes​(int n) throws IOException
      seek(getStreamPosition()+n)を呼び出して、現在のストリーム位置を前進させます。

      ビット・オフセットは0にリセットされます。

      定義:
      skipBytes、インタフェース: DataInput
      定義:
      skipBytes、インタフェース: ImageInputStream
      パラメータ:
      n - 前方にシークするバイト数。
      戻り値:
      スキップされたバイト数を示すint
      例外:
      IOException - 開始または終了位置を計算する際にgetStreamPositionIOExceptionをスローする場合。
    • skipBytes

      public long skipBytes​(long n) throws IOException
      seek(getStreamPosition()+n)を呼び出して、現在のストリーム位置を前進させます。

      ビット・オフセットは0にリセットされます。

      定義:
      skipBytes、インタフェース: ImageInputStream
      パラメータ:
      n - 前方にシークするバイト数。
      戻り値:
      スキップされたバイト数を示すlong
      例外:
      IOException - 開始または終了位置を計算する際にgetStreamPositionIOExceptionをスローする場合。
    • mark

      public void mark()
      マーク付けされた位置のスタック上に現在のストリーム位置をプッシュします。
      定義:
      mark、インタフェース: ImageInputStream
    • reset

      public void reset() throws IOException
      マーク付けされた位置のスタックから現在のストリーム・バイトおよびビット位置をリセットします。

      以前にマーク付けされた位置がストリームの破棄された部分である場合にはIOExceptionがスローされます。

      定義:
      reset、インタフェース: ImageInputStream
      例外:
      IOException - 入出力エラーが発生した場合。
    • isCached

      public boolean isCached()
      デフォルトの実装ではfalseを返します。 サブクラスは、データをキャッシュに格納する場合はこれをオーバーライドする必要があります。
      定義:
      isCached、インタフェース: ImageInputStream
      戻り値:
      このImageInputStreamがデータをキャッシュに格納する場合はtrue
      関連項目:
      ImageInputStream.isCachedMemory(), ImageInputStream.isCachedFile()
    • isCachedMemory

      public boolean isCachedMemory()
      デフォルトの実装ではfalseを返します。 サブクラスは、データをメイン・メモリーにキャッシュする場合はこれをオーバーライドする必要があります。
      定義:
      isCachedMemory、インタフェース: ImageInputStream
      戻り値:
      このImageInputStreamがデータをメイン・メモリーにキャッシュする場合はtrue
      関連項目:
      ImageInputStream.isCached(), ImageInputStream.isCachedFile()
    • isCachedFile

      public boolean isCachedFile()
      デフォルトの実装ではfalseを返します。 サブクラスは、データを一時ファイルにキャッシュする場合はこれをオーバーライドする必要があります。
      定義:
      isCachedFile、インタフェース: ImageInputStream
      戻り値:
      このImageInputStreamがデータを一時ファイルにキャッシュする場合はtrue
      関連項目:
      ImageInputStream.isCached(), ImageInputStream.isCachedMemory()
    • finalize

      @Deprecated(since="9") protected void finalize() throws Throwable
      Deprecated.
      finalizeメソッドは推奨されていません。 クリーンアップを実行するためにfinalizeをオーバーライドするサブクラスは、代替クリーンアップ・メカニズムを使用し、オーバーライドするfinalizeメソッドを削除するように変更する必要があります。 finalizeメソッドをオーバーライドする場合、実装では、super.finalize()Object.finalize()の説明に従って呼び出されることを明示的に確認する必要があります。 移行オプションの詳細については、Object.finalize()の仕様を参照してください。
      ガベージ・コレクションの前にこのオブジェクトをファイナライズします。 closeメソッドを呼び出して、開いている入力ソースをすべて閉じます。 このメソッドを、アプリケーション・コードから呼び出してはいけません。
      オーバーライド:
      finalize、クラス: Object
      例外:
      Throwable - スーパー・クラスのファイナライズ時にエラーが発生した場合。
      関連項目:
      WeakReference, PhantomReference