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 intbitOffsetストリーム内の現在のビット・オフセットです。protected ByteOrderbyteOrder列挙クラスjava.nio.ByteOrderのインスタンスで表されるストリームのバイト順で、ByteOrder.BIG_ENDIANはネットワーク・バイト順、ByteOrder.LITTLE_ENDIANは逆順を示します。protected longflushedPosそれより前のデータが破棄される位置です。protected longstreamPosストリーム内の現在の読込み位置です。 -
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 ImageInputStreamImpl()ImageInputStreamImplを構築します。 -
メソッドのサマリー
修飾子と型 メソッド 説明 protected voidcheckClosed()ストリームが閉じられていた場合はIOExceptionをスローします。protected voidfinalize()非推奨。finalizeメソッドは推奨されていません。booleanisCached()デフォルトの実装ではfalseを返します。booleanisCachedFile()デフォルトの実装ではfalseを返します。booleanisCachedMemory()デフォルトの実装ではfalseを返します。longlength()ストリームが未知の長さであることを示す-1Lを返します。voidmark()マーク付けされた位置のスタック上に現在のストリーム位置をプッシュします。abstract intread()ストリームから1バイトを読み込み、それを0から255までのintとして返します。intread(byte[] b)read(b, 0, b.length)を呼び出す簡易メソッドです。abstract intread(byte[] b, int off, int len)ストリームから最大lenバイトを読み込み、bにインデックスoffから格納します。voidreset()マーク付けされた位置のスタックから現在のストリーム・バイトおよびビット位置をリセットします。intskipBytes(int n)seek(getStreamPosition()+n)を呼び出して、現在のストリーム位置を前進させます。longskipBytes(long n)seek(getStreamPosition()+n)を呼び出して、現在のストリーム位置を前進させます。クラス java.lang.Objectで宣言されたメソッド
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitインタフェース javax.imageio.stream.ImageInputStreamで宣言されたメソッド
close, flush, flushBefore, getBitOffset, getByteOrder, getFlushedPosition, getStreamPosition, readBit, readBits, readBoolean, readByte, readBytes, readChar, readDouble, readFloat, readFully, readFully, readFully, readFully, readFully, readFully, readFully, readFully, readInt, readLine, readLong, readShort, readUnsignedByte, readUnsignedInt, readUnsignedShort, readUTF, seek, setBitOffset, setByteOrder
-
フィールド詳細
-
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以上になります。
-
-
コンストラクタの詳細
-
ImageInputStreamImpl
public ImageInputStreamImpl()ImageInputStreamImplを構築します。
-
-
メソッドの詳細
-
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 IOExceptionread(b, 0, b.length)を呼び出す簡易メソッドです。ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
- 定義:
read、インタフェース:ImageInputStream- パラメータ:
b- 書き込まれるバイト配列。- 戻り値:
- 実際に読み込まれたバイト数、またはEOFを示す
-1。 - 例外:
NullPointerException-bがnullである場合。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+lenがb.lengthより大きい場合。NullPointerException-bがnullである場合。IOException- 入出力エラーが発生した場合。
-
length
public long length()ストリームが未知の長さであることを示す-1Lを返します。 サブクラスでこのメソッドをオーバーライドして、実際の長さの情報を指定する必要があります。- 定義:
length、インタフェース:ImageInputStream- 戻り値:
- 未知の長さを示す -1L
-
skipBytes
public int skipBytes(int n) throws IOExceptionseek(getStreamPosition()+n)を呼び出して、現在のストリーム位置を前進させます。ビット・オフセットは0にリセットされます。
- 定義:
skipBytes、インタフェース:DataInput- 定義:
skipBytes、インタフェース:ImageInputStream- パラメータ:
n- 前方にシークするバイト数。- 戻り値:
- スキップされたバイト数を示す
int。 - 例外:
IOException- 開始または終了位置を計算する際にgetStreamPositionがIOExceptionをスローする場合。
-
skipBytes
public long skipBytes(long n) throws IOExceptionseek(getStreamPosition()+n)を呼び出して、現在のストリーム位置を前進させます。ビット・オフセットは0にリセットされます。
- 定義:
skipBytes、インタフェース:ImageInputStream- パラメータ:
n- 前方にシークするバイト数。- 戻り値:
- スキップされたバイト数を示す
long。 - 例外:
IOException- 開始または終了位置を計算する際にgetStreamPositionがIOExceptionをスローする場合。
-
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非推奨。finalizeメソッドは推奨されていません。 クリーンアップを実行するためにfinalizeをオーバーライドするサブクラスは、代替クリーンアップ・メカニズムを使用し、オーバーライドするfinalizeメソッドを削除するように変更する必要があります。finalizeメソッドをオーバーライドする場合、実装では、super.finalize()がObject.finalize()の説明に従って呼び出されることを明示的に確認する必要があります。 移行オプションの詳細については、Object.finalize()の仕様を参照してください。ガベージ・コレクションの前にこのオブジェクトをファイナライズします。closeメソッドを呼び出して、開いている入力ソースをすべて閉じます。 このメソッドを、アプリケーション・コードから呼び出してはいけません。- オーバーライド:
finalize、クラス:Object- 例外:
Throwable- スーパー・クラスのファイナライズ時にエラーが発生した場合。- 関連項目:
WeakReference,PhantomReference
-