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()
非推奨。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
インタフェース 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
-
finalize
メソッドは推奨されていません。