public interface ImageInputStream extends DataInput, Closeable
ImageReaderで使用されるシーク可能な入力ストリーム・インタフェースです。InputStreamやFileなどのさまざまな入力ソース、および将来の高速な入出力ソースを、このインタフェースの適切な実装で「ラップ」することで、イメージ入出力APIから使用可能にできます。| 修飾子と型 | メソッドと説明 |
|---|---|
void |
close()
ストリームを閉じます。
|
void |
flush()
現在のストリーム位置より前の初期のストリーム位置を破棄します。
|
void |
flushBefore(long pos)
指示された位置より前のストリームの先頭部分を破棄します。
|
int |
getBitOffset()
現在のビット・オフセットを0から7までの整数として返します。
|
ByteOrder |
getByteOrder()
このストリームから読み込まれるデータのバイト順を、
java.nio.ByteOrder列挙のインスタンスとして返します。 |
long |
getFlushedPosition()
シークが実行されるストリーム内の一番初期の位置を返します。
|
long |
getStreamPosition()
ストリームの現在のバイト位置を返します。
|
boolean |
isCached()
逆シークを可能にするために、この
ImageInputStreamがデータ自体をキャッシュに格納する場合はtrueを返します。 |
boolean |
isCachedFile()
この
ImageInputStreamが、逆シークを可能にするためにデータ自体をキャッシュに格納し、キャッシュが一時ファイルに保持される場合はtrueを返します。 |
boolean |
isCachedMemory()
この
ImageInputStreamが、逆シークを有効にするためにデータ自体をキャッシュに格納し、キャッシュがメイン・メモリーに保持される場合はtrueを返します。 |
long |
length()
既知の場合、ストリームの全長を返します。
|
void |
mark()
その後の
reset呼出しで返されるストリーム内の位置をマーク付けします。 |
int |
read()
ストリームから1バイトを読み込み、それを0から255までの整数として返します。
|
int |
read(byte[] b)
ストリームから最大
b.lengthバイトを読み込み、bにインデックス0から格納します。 |
int |
read(byte[] b, int off, int len)
ストリームから最大
lenバイトを読み込み、bにインデックスoffから格納します。 |
int |
readBit()
ストリームから1ビットを読み込み、それを値
0または1のintとして返します。 |
long |
readBits(int numBits)
ストリームからビット列を読み込み、
longとして返します。読み込んだ最初のビットが出力の最上位ビットになります。 |
boolean |
readBoolean()
ストリームから1バイトを読み込み、0でない場合は
trueのboolean値を返し、0の場合はfalseを返します。 |
byte |
readByte()
ストリームから1バイトを読み込み、それを
byte値として返します。 |
void |
readBytes(IIOByteBuffer buf, int len)
ストリームから
lenバイトまでを読み込み、指定されたIIOByteBufferを変更してデータを検出可能なバイト配列、オフセット、および長さを示します。 |
char |
readChar()
readUnsignedShortと同等、ただし結果はcharデータ型を使用して返されます。 |
double |
readDouble()
ストリームから8バイトを読み込み、現在のバイト順に従って概念上それらを連結して、結果を
double値として返します。 |
float |
readFloat()
ストリームから4バイトを読み込み、現在のバイト順に従って概念上それらを連結して、結果を
float値として返します。 |
void |
readFully(byte[] b)
ストリームから
b.lengthバイトを読み込み、bにインデックス0から格納します。 |
void |
readFully(byte[] b, int off, int len)
ストリームから
lenバイトを読み込み、bにインデックスoffから格納します。 |
void |
readFully(char[] c, int off, int len)
ストリームから現在のバイト順に従って
lenバイトのchar (符号なし16ビット整数)値を読み込み、それらをcにインデックスoffから格納します。 |
void |
readFully(double[] d, int off, int len)
ストリームから現在のバイト順に従って
lenバイトのdouble (64ビットIEEE倍精度浮動小数点数)値を読み込み、それらをdにインデックスoffから格納します。 |
void |
readFully(float[] f, int off, int len)
ストリームから現在のバイト順に従って
lenバイトのfloat (32ビットIEEE単精度浮動小数点数)値を読み込み、それらをfにインデックスoffから格納します。 |
void |
readFully(int[] i, int off, int len)
ストリームから現在のバイト順に従って
lenバイトのint (符号付き32ビット整数)値を読み込み、それらをiにインデックスoffから格納します。 |
void |
readFully(long[] l, int off, int len)
ストリームから現在のバイト順に従って
lenバイトのlong (符号付き64ビット整数)値を読み込み、それらをlにインデックスoffから格納します。 |
void |
readFully(short[] s, int off, int len)
ストリームから現在のバイト順に従って
lenバイトのshort (符号付き16ビット整数)値を読み込み、それらをsにインデックスoffから格納します。 |
int |
readInt()
ストリームから4バイトを読み込み、現在のバイト順に従って概念上それらを連結して、結果を
int値として返します。 |
String |
readLine()
入力ストリームから、次の行のテキストを読み込みます。
|
long |
readLong()
ストリームから8バイトを読み込み、現在のバイト順に従って概念上それらを連結して、結果を
long値として返します。 |
short |
readShort()
ストリームから2バイトを読み込み、現在のバイト順に従って概念上それらを連結して、結果を
short値として返します。 |
int |
readUnsignedByte()
ストリームからバイトを読み込んで、概念上、整数に変換し、符号拡張ビットを取り除くためにそれを
0xffでマスクして、byte値として返します。 |
long |
readUnsignedInt()
ストリームから4バイトを読み込んで現在のバイト順に従って概念上それらを連結し、結果の値をlongに変換して、符号拡張ビットを取り除くために
0xffffffffLでマスクします。その結果を符号なしlong値として返します。 |
int |
readUnsignedShort()
ストリームから2バイトを読み込んで、現在のバイト順に従って概念上それらを連結し、結果として得られる値を
intに変換して、符号拡張ビットを取り除くために0xffffでマスクします。その結果を符号なしint値として返します。 |
String |
readUTF()
修正UTF-8形式でエンコードされた文字列を読み込みます。
|
void |
reset()
最新の不一致の
mark呼出し時点の、ビット・オフセットを含む以前の位置を指すストリーム・ポインタを返します。 |
void |
seek(long pos)
現在のストリーム位置を目的の位置に設定します。
|
void |
setBitOffset(int bitOffset)
ビット・オフセットに0から7までの整数を設定します。
|
void |
setByteOrder(ByteOrder byteOrder)
このストリームからの今後のデータ値の読込みのために、バイト順を設定します。
|
int |
skipBytes(int n)
指定されたバイト数だけストリーム位置を前に移動します。
|
long |
skipBytes(long n)
指定されたバイト数だけストリーム位置を前に移動します。
|
void setByteOrder(ByteOrder byteOrder)
列挙クラスjava.nio.ByteOrderを使用してバイト順を指定します。値ByteOrder.BIG_ENDIANでは、高位のバイトが先頭となる、いわゆるビッグエンディアン(ネットワーク・バイト順)が指定されます。MotorolaとSparcプロセッサはデータをこの形式で格納します。一方Intelプロセッサは、データを逆順のByteOrder.LITTLE_ENDIANで格納します。
バイト順は、readBitsメソッドから返される結果(ImageOutputStream.writeBitsにより書き込まれる値)には影響を与えません。
byteOrder - ByteOrder.BIG_ENDIANまたはjava.nio.ByteOrder.LITTLE_ENDIANのいずれか(今後の読込みでネットワーク・バイト順またはその逆順のどちらを使用するかを示す)。ByteOrder, getByteOrder(), readBits(int)ByteOrder getByteOrder()
java.nio.ByteOrder列挙のインスタンスとして返します。ByteOrder.BIG_ENDIANまたはByteOrder.LITTLE_ENDIANのいずれか(使用されるバイト順を示す)。ByteOrder, setByteOrder(java.nio.ByteOrder)int read() throws IOException
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
IOException - 入出力エラーが発生した場合。int read(byte[] b) throws IOException
b.lengthバイトを読み込み、bにインデックス0から格納します。読み込んだバイト数を返します。ストリームの終わりに達したためにバイトを読み込めない場合は、-1を返します。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
b - 書き込まれるバイト配列。-1。NullPointerException - bがnullの場合。IOException - 入出力エラーが発生した場合。int read(byte[] b,
int off,
int len)
throws IOException
lenバイトを読み込み、bにインデックスoffから格納します。読み込んだバイト数を返します。ストリームの終わりに達したためにバイトを読み込めない場合は、-1を返します。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
b - 書き込まれるバイト配列。off - 書込み先のb内の開始位置。len - 読み込む最大byte数。-1。NullPointerException - bがnullの場合。IndexOutOfBoundsException - offが負の値の場合、lenが負の値の場合、またはoff+lenがb.lengthより大きい場合。IOException - 入出力エラーが発生した場合。void readBytes(IIOByteBuffer buf, int len) throws IOException
lenバイトまでを読み込み、指定されたIIOByteBufferを変更してデータを検出可能なバイト配列、オフセット、および長さを示します。呼出し側で、IIOByteBufferで検出されたデータを変更してはいけません。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
buf - 変更されるIIOByteBufferオブジェクト。len - 読み込む最大byte数。IndexOutOfBoundsException - lenが負の値の場合。NullPointerException - bufがnullの場合。IOException - 入出力エラーが発生した場合。boolean readBoolean()
throws IOException
trueのboolean値を返し、0の場合はfalseを返します。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
readBoolean、インタフェース: DataInputEOFException - ストリームの終わりに達した場合。IOException - 入出力エラーが発生した場合。byte readByte()
throws IOException
byte値として返します。0x00から0x7fまでのバイト値は0から127までの整数を表します。0x80から0xffまでの値は-128から/1までの負の値を表します。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
readByte、インタフェース: DataInputEOFException - ストリームの終わりに達した場合。IOException - 入出力エラーが発生した場合。int readUnsignedByte()
throws IOException
0xffでマスクして、byte値として返します。
したがって、0x00から0x7fまでのバイト値は0から127までの整数値として単純に返されます。通常は負のbyte値を表す0x80から0xffまでの値は、128から255までの正の整数に対応付けされます。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
readUnsignedByte、インタフェース: DataInputEOFException - ストリームの終わりに達した場合。IOException - 入出力エラーが発生した場合。short readShort()
throws IOException
short値として返します。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
readShort、インタフェース: DataInputEOFException - すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException - 入出力エラーが発生した場合。getByteOrder()int readUnsignedShort()
throws IOException
intに変換して、符号拡張ビットを取り除くために0xffffでマスクします。その結果を符号なしint値として返します。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
readUnsignedShort、インタフェース: DataInputEOFException - すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException - 入出力エラーが発生した場合。getByteOrder()char readChar()
throws IOException
readUnsignedShortと同等、ただし結果はcharデータ型を使用して返されます。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
readChar、インタフェース: DataInputEOFException - すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException - 入出力エラーが発生した場合。readUnsignedShort()int readInt()
throws IOException
int値として返します。
ストリーム内のビット・オフセットは無視され、0として扱われます。
readInt、インタフェース: DataInputEOFException - すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException - 入出力エラーが発生した場合。getByteOrder()long readUnsignedInt()
throws IOException
0xffffffffLでマスクします。その結果を符号なしlong値として返します。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
EOFException - すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException - 入出力エラーが発生した場合。getByteOrder()long readLong()
throws IOException
long値として返します。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
readLong、インタフェース: DataInputEOFException - すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException - 入出力エラーが発生した場合。getByteOrder()float readFloat()
throws IOException
float値として返します。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
readFloat、インタフェース: DataInputEOFException - すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException - 入出力エラーが発生した場合。getByteOrder()double readDouble()
throws IOException
double値として返します。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
readDouble、インタフェース: DataInputEOFException - すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException - 入出力エラーが発生した場合。getByteOrder()String readLine() throws IOException
Stringとして返されます。このメソッドはバイトを処理するものなので、Unicode文字セットの入力を完全にはサポートしません。
ファイルの終わりが検出されるまでに1バイトも読み込めなかった場合には、nullが返されます。それ以外の場合、読み込まれた各バイトはゼロ拡張によってchar型に変換されます。文字'\n'が検出されると、この文字は破棄され、読込みは中止されます。文字'\r'が検出されると、この文字は破棄され、その次のバイトが文字'\n'に変換されますが、この文字も破棄されて、読込みが中止されます。文字'\n'と文字'\r'のどちらかより前にファイルの終わりが検出されると、読込みが中止されます。読込みが中止されると、読み込まれて破棄されていないすべての文字を取り込んだ順番で格納しているStringが返されます。この文字列のそれぞれの文字は\u0100、つまり(char)256より小さい値を持ちます。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
readLine、インタフェース: DataInputIOException - 入出力エラーが発生した場合。String readUTF() throws IOException
readUTFの汎用規約では、修正UTF-8形式でエンコードされたUnicode文字列の表現を読み込みます。読み込まれた文字列は、Stringとして返されます。
まず、2バイトを読み込み、それを使ってreadUnsignedShortメソッドとまったく同じ方法で符号なし16ビット整数を作成します。この際、現在のバイト順の設定に関係なくネットワーク・バイト順を使用します。この整数値はUTF長と呼ばれ、読み込まれる追加のバイト数を表します。次に、このバイトがグループ単位で文字に変換されます。各グループの長さは、グループの先頭バイトの値から計算されます。グループに後続のバイトがあれば、それは次のグループの先頭バイトです。
グループの先頭バイトがビット・パターンの0xxxxxxx (ただし、xは0または1を意味します)に一致する場合、グループはそのバイトだけで構成されます。バイトはゼロ拡張されて単一の文字を表現します。
グループの先頭バイトがビット・パターン110xxxxxに一致する場合、そのグループはそのバイトaと2番目のバイトbから構成されます。バイトbが存在しない場合(バイトaが読み込まれた最後のバイトだった場合)や、バイトbがビット・パターン10xxxxxxに一致しない場合には、UTFDataFormatExceptionがスローされます。そうでない場合、グループは次の文字に変換されます。
(char)(((a& 0x1F) << 6) | (b & 0x3F))
グループの先頭バイトがビット・パターン1110xxxxに一致する場合、そのグループは先頭バイトaに加えて、2つのバイトbとcから構成されます。バイトcが存在しない場合(バイトaが読み込まれた一連のバイトの最後の2つに入っていた場合)や、バイトbまたはcがビット・パターン10xxxxxxに一致しない場合には、UTFDataFormatExceptionがスローされます。そうでない場合、グループは次の文字に変換されます。
(char)(((a & 0x0F) << 12) | ((b & 0x3F) << 6) | (c & 0x3F))
グループの先頭バイトがパターン1111xxxxかパターン10xxxxxxに一致する場合、UTFDataFormatExceptionがスローされます。
この処理全体のどこかでファイルの終わりが検出されると、java.io.EOFExceptionがスローされます。
各グループがこの処理で1文字に変換されると、対応するグループが入力ストリームから読み込まれたのと同じ順序で各文字が収集され、Stringを表現します。そして、このStringが返されます。
現在のバイト順の設定は無視されます。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
注: ここで使用される修正UTF-8は標準UTF-8と互換性がありません。このため、標準UTF-8を使用するイメージ形式の実装ではこのメソッドを使用しないでください。
readUTF、インタフェース: DataInputEOFException - すべてのバイトを読み込む前に、このストリームの終わりに達した場合。UTFDataFormatException - 文字列中のバイトが、有効な修正UTF-8形式でエンコードされた文字列以外であった場合。IOException - 入出力エラーが発生した場合。void readFully(byte[] b,
int off,
int len)
throws IOException
lenバイトを読み込み、bにインデックスoffから格納します。ストリームの終わりに達すると、java.io.EOFExceptionがスローされます。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
readFully、インタフェース: DataInputb - 書き込まれるバイト配列。off - 書込み先のb内の開始位置。len - 読み込む最大byte数。IndexOutOfBoundsException - offが負の値の場合、lenが負の値の場合、またはoff+lenがb.lengthより大きい場合。NullPointerException - bがnullの場合。EOFException - すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException - 入出力エラーが発生した場合。void readFully(byte[] b)
throws IOException
b.lengthバイトを読み込み、bにインデックス0から格納します。ストリームの終わりに達すると、java.io.EOFExceptionがスローされます。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
readFully、インタフェース: DataInputb - byteの配列。NullPointerException - bがnullの場合。EOFException - すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException - 入出力エラーが発生した場合。void readFully(short[] s,
int off,
int len)
throws IOException
lenバイトのshort (符号付き16ビット整数)値を読み込み、それらをsにインデックスoffから格納します。ストリームの終わりに達すると、java.io.EOFExceptionがスローされます。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
s - 書き込まれるshort配列。off - 書込み先のs内の開始位置。len - 読み込む最大short数。IndexOutOfBoundsException - offが負の値の場合、lenが負の値の場合、またはoff+lenがs.lengthより大きい場合。NullPointerException - sがnullの場合。EOFException - すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException - 入出力エラーが発生した場合。void readFully(char[] c,
int off,
int len)
throws IOException
lenバイトのchar (符号なし16ビット整数)値を読み込み、それらをcにインデックスoffから格納します。ストリームの終わりに達すると、java.io.EOFExceptionがスローされます。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
c - 書き込まれるchar配列。off - 書込み先のc内の開始位置。len - 読み込む最大char数。IndexOutOfBoundsException - offが負の値の場合、lenが負の値の場合、またはoff+lenがc.lengthより大きい場合。NullPointerException - cがnullの場合。EOFException - すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException - 入出力エラーが発生した場合。void readFully(int[] i,
int off,
int len)
throws IOException
lenバイトのint (符号付き32ビット整数)値を読み込み、それらをiにインデックスoffから格納します。ストリームの終わりに達すると、java.io.EOFExceptionがスローされます。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
i - 書き込まれるint配列。off - 書込み先のi内の開始位置。len - 読み込む最大int数。IndexOutOfBoundsException - offが負の値の場合、lenが負の値の場合、またはoff+lenがi.lengthより大きい場合。NullPointerException - iがnullの場合。EOFException - すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException - 入出力エラーが発生した場合。void readFully(long[] l,
int off,
int len)
throws IOException
lenバイトのlong (符号付き64ビット整数)値を読み込み、それらをlにインデックスoffから格納します。ストリームの終わりに達すると、java.io.EOFExceptionがスローされます。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
l - 書き込まれるlong配列。off - 書込み先のl内の開始位置。len - 読み込む最大long数。IndexOutOfBoundsException - offが負の値の場合、lenが負の値の場合、またはoff+lenがl.lengthより大きい場合。NullPointerException - lがnullの場合。EOFException - すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException - 入出力エラーが発生した場合。void readFully(float[] f,
int off,
int len)
throws IOException
lenバイトのfloat (32ビットIEEE単精度浮動小数点数)値を読み込み、それらをfにインデックスoffから格納します。ストリームの終わりに達すると、java.io.EOFExceptionがスローされます。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
f - 書き込まれるfloat配列。off - 書込み先のf内の開始位置。len - 読み込む最大float数。IndexOutOfBoundsException - offが負の値の場合、lenが負の値の場合、またはoff+lenがf.lengthより大きい場合。NullPointerException - fがnullの場合。EOFException - すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException - 入出力エラーが発生した場合。void readFully(double[] d,
int off,
int len)
throws IOException
lenバイトのdouble (64ビットIEEE倍精度浮動小数点数)値を読み込み、それらをdにインデックスoffから格納します。ストリームの終わりに達すると、java.io.EOFExceptionがスローされます。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
d - 書き込まれるdouble配列。off - 書込み先のd内の開始位置。len - 読み込む最大double数。IndexOutOfBoundsException - offが負の値の場合、lenが負の値の場合、またはoff+lenがd.lengthより大きい場合。NullPointerException - dがnullの場合。EOFException - すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException - 入出力エラーが発生した場合。long getStreamPosition()
throws IOException
IOException - 入出力エラーが発生した場合。int getBitOffset()
throws IOException
readBitsメソッドの呼出しで暗黙的に更新されます。値0は読み込まれるバイトの最上位ビット、値7は最下位ビットを示します。
ビット・オフセットは、ストリームを最初に開くときに0に設定され、seek、skipBytes、またはreadかreadFullyメソッドのいずれかが呼び出されると0にリセットされます。
int。IOException - 入出力エラーが発生した場合。setBitOffset(int)void setBitOffset(int bitOffset)
throws IOException
getStreamPositionから返される、ストリーム内のバイト・オフセットは変更されません。値0は読み込まれるバイトの最上位ビット、値7は最下位ビットを示します。bitOffset - 目的のオフセットで、0から7までのint。IllegalArgumentException - bitOffsetが0から7の範囲内にない場合。IOException - 入出力エラーが発生した場合。getBitOffset()int readBit()
throws IOException
0または1のintとして返します。ビット・オフセットは1ずつ増加し、8を法として減分します。0または1のint。EOFException - すべてのビットを読み込む前に、このストリームの終わりに達した場合。IOException - 入出力エラーが発生した場合。long readBits(int numBits)
throws IOException
longとして返します。読み込んだ最初のビットが出力の最上位ビットになります。読込みは、getStreamPositionで指定されるバイト内のgetBitOffsetで指定されるビット位置から開始されます。ビット・オフセットはnumBitsだけ増加し、8を法として減分します。
ストリームのバイト順はこのメソッドに影響しません。このメソッドの戻り値はビットが同時に読み込まれたかのように構築され、戻り値の右側にシフトされます。これを次の擬似コードで示します。
long accum = 0L;
for (int i = 0; i < numBits; i++) {
accum <<= 1; // Shift left one bit to make room
accum |= readBit();
}
したがって、逆ネットワーク・バイト順が使用されている場合(つまり、getByteOrder()== false)、readBits(32)の結果がreadInt()の結果と異なる場合があります。
すべてのビットを読み込む前にストリームの終わりを検出した場合、java.io.EOFExceptionがスローされます。
numBits - 読み込むビット数を示す0から64までのint。longのビット列。IllegalArgumentException - numBitsが0から64の範囲内にない場合。EOFException - すべてのビットを読み込む前に、このストリームの終わりに達した場合。IOException - 入出力エラーが発生した場合。long length()
throws IOException
-1が返されます。long、そうでない場合は-1。IOException - 入出力エラーが発生した場合。int skipBytes(int n)
throws IOException
skipBytes、インタフェース: DataInputn - スキップするバイト数を含むint。int。IOException - 入出力エラーが発生した場合。long skipBytes(long n)
throws IOException
skipBytes(int)と同じですが、さらに離れた位置までスキップできます。n - スキップするバイト数を含むlong。long。IOException - 入出力エラーが発生した場合。void seek(long pos) throws IOException
posがgetflushedPositionから返されるフラッシュ位置よりも小さい場合は、IndexOutOfBoundsExceptionがスローされます。
シークでファイルの終わりを通過することは正常であり、java.io.EOFExceptionは読込みの場合のみスローされます。
pos - 目的のファイル・ポインタ位置を示すlong。IndexOutOfBoundsException - posがフラッシュ位置よりも小さい場合。IOException - その他の入出力エラーが発生した場合。void mark()
reset呼出しで返されるストリーム内の位置をマーク付けします。標準のInputStreamとは異なり、ImageInputStreamはすべてマーク付けをサポートします。さらに、markとresetの呼出しは、任意にネスト化することができます。
ReaderおよびInputStreamインタフェースで宣言されるmarkメソッドとは異なり、readLimitパラメータは使用されません。markの呼出しに続いて任意のデータ量を読み込むことができます。
readBitsメソッドで使用されるビット位置は保存され、markとresetをペアで呼び出すたびに復元されます。
ImageReaderは、読込み操作の一部としてflushBeforeを呼び出すことができることに留意してください。このため、アプリケーションがストリームをImageReaderに渡す前にmarkを呼び出す場合、読込み操作が完了したあともマーク位置が有効であると考えるべきではありません。
void reset()
throws IOException
mark呼出し時点の、ビット・オフセットを含む以前の位置を指すストリーム・ポインタを返します。
対応するmarkを呼び出さずにresetを呼び出す場合には影響ありません。
以前にマーク付けされた位置がストリームの破棄された部分である場合にはIOExceptionがスローされます。
IOException - 入出力エラーが発生した場合。void flushBefore(long pos)
throws IOException
IndexOutOfBoundsExceptionがスローされます。
flushBeforeを呼び出すと、このインタフェースを実装するクラスが、ストリームからデータを格納するのに使用するメモリーやディスク・スペースなどのリソースを解放できます。
pos - フラッシュされるストリーム接頭辞の長さを示すlong。IndexOutOfBoundsException - posがストリームのフラッシュ部分にあるか、または現在のストリーム位置を通過した場合。IOException - 入出力エラーが発生した場合。void flush()
throws IOException
flushBefore(getStreamPosition())と同等です。IOException - 入出力エラーが発生した場合。long getFlushedPosition()
flushBefore呼出しに渡されたすべての値の最大値になります。long。boolean isCached()
ImageInputStreamがデータ自体をキャッシュに格納する場合はtrueを返します。アプリケーションはキャッシュ・リソースを節約するために、これを参照してフラッシュの頻度、またはフラッシュするかどうかを決定できます。ImageInputStreamがデータをキャッシュに格納する場合はtrue。isCachedMemory(), isCachedFile()boolean isCachedMemory()
ImageInputStreamが、逆シークを有効にするためにデータ自体をキャッシュに格納し、キャッシュがメイン・メモリーに保持される場合はtrueを返します。アプリケーションはキャッシュ・リソースを節約するために、これを参照してフラッシュの頻度、またはフラッシュするかどうかを決定できます。ImageInputStreamがデータをメイン・メモリーにキャッシュする場合はtrue。isCached(), isCachedFile()boolean isCachedFile()
ImageInputStreamが、逆シークを可能にするためにデータ自体をキャッシュに格納し、キャッシュが一時ファイルに保持される場合はtrueを返します。アプリケーションはキャッシュ・リソースを節約するために、これを参照してフラッシュの頻度、またはフラッシュするかどうかを決定できます。ImageInputStreamがデータを一時ファイルにキャッシュする場合はtrue。isCached(), isCachedMemory()void close()
throws IOException
IOExceptionがスローされるか不正な動作が実行される場合があります。このメソッドを呼び出すと、このインタフェースを実装するクラスが、メモリー、ディスク・スペース、またはファイル記述子などのストリームに関連するリソースを解放できます。close、インタフェース: AutoCloseableclose、インタフェース: CloseableIOException - 入出力エラーが発生した場合。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.