- すべてのスーパー・インタフェース:
AutoCloseable,Closeable,DataInput
- 既知のすべてのサブインタフェース:
ImageOutputStream
- 既知のすべての実装クラス:
FileCacheImageInputStream,FileCacheImageOutputStream,FileImageInputStream,FileImageOutputStream,ImageInputStreamImpl,ImageOutputStreamImpl,MemoryCacheImageInputStream,MemoryCacheImageOutputStream
ImageReaderで使用されるシーク可能な入力ストリーム・インタフェースです。 InputStreamやFileなどのさまざまな入力ソース、および将来の高速な入出力ソースを、このインタフェースの適切な実装で「ラップ」することで、イメージ入出力APIから使用可能にできます。 - 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明voidclose()ストリームを閉じます。voidflush()現在のストリーム位置より前の初期のストリーム位置を破棄します。voidflushBefore(long pos) 指示された位置より前のストリームの先頭部分を破棄します。int現在のビット・オフセットを0から7までの整数として返します。このストリームから読み込まれるデータのバイト順を、java.nio.ByteOrder列挙のインスタンスとして返します。longシークが実行されるストリーム内の一番初期の位置を返します。longストリームの現在のバイト位置を返します。booleanisCached()逆シークを可能にするために、このImageInputStreamがデータ自体をキャッシュに格納する場合はtrueを返します。booleanこのImageInputStreamが、逆シークを可能にするためにデータ自体をキャッシュに格納し、キャッシュが一時ファイルに保持される場合はtrueを返します。booleanこのImageInputStreamが、逆シークを有効にするためにデータ自体をキャッシュに格納し、キャッシュがメイン・メモリーに保持される場合はtrueを返します。longlength()既知の場合、ストリームの全長を返します。voidmark()その後のreset呼出しで返されるストリーム内の位置をマーク付けします。intread()ストリームから1バイトを読み込み、それを0から255までの整数として返します。intread(byte[] b) ストリームから最大b.lengthバイトを読み込み、bにインデックス0から格納します。intread(byte[] b, int off, int len) ストリームから最大lenバイトを読み込み、bにインデックスoffから格納します。intreadBit()ストリームから1ビットを読み込み、それを値0または1のintとして返します。longreadBits(int numBits) ストリームからビット列を読み込み、longとして返します。読み込んだ最初のビットが出力の最上位ビットになります。booleanストリームから1バイトを読み込み、0でない場合はtrueのboolean値を返し、0の場合はfalseを返します。bytereadByte()ストリームから1バイトを読み込み、それをbyte値として返します。voidreadBytes(IIOByteBuffer buf, int len) ストリームからlenバイトまでを読み込み、指定されたIIOByteBufferを変更してデータを検出可能なバイト配列、オフセット、および長さを示します。charreadChar()readUnsignedShortと同等、ただし結果はcharデータ型を使用して返されます。doubleストリームから8バイトを読み込み、現在のバイト順に従って概念上それらを連結して、結果をdouble値として返します。floatストリームから4バイトを読み込み、現在のバイト順に従って概念上それらを連結して、結果をfloat値として返します。voidreadFully(byte[] b) ストリームからb.lengthバイトを読み込み、bにインデックス0から格納します。voidreadFully(byte[] b, int off, int len) ストリームからlenバイトを読み込み、bにインデックスoffから格納します。voidreadFully(char[] c, int off, int len) ストリームから現在のバイト順に従ってlenバイトのchar (符号なし16ビット整数)値を読み込み、それらをcにインデックスoffから格納します。voidreadFully(double[] d, int off, int len) ストリームから現在のバイト順に従ってlenバイトのdouble (64ビットIEEE倍精度浮動小数点数)値を読み込み、それらをdにインデックスoffから格納します。voidreadFully(float[] f, int off, int len) ストリームから現在のバイト順に従ってlenバイトのfloat (32ビットIEEE単精度浮動小数点数)値を読み込み、それらをfにインデックスoffから格納します。voidreadFully(int[] i, int off, int len) ストリームから現在のバイト順に従ってlenバイトのint (符号付き32ビット整数)値を読み込み、それらをiにインデックスoffから格納します。voidreadFully(long[] l, int off, int len) ストリームから現在のバイト順に従ってlenバイトのlong (符号付き64ビット整数)値を読み込み、それらをlにインデックスoffから格納します。voidreadFully(short[] s, int off, int len) ストリームから現在のバイト順に従ってlenバイトのshort (符号付き16ビット整数)値を読み込み、それらをsにインデックスoffから格納します。intreadInt()ストリームから4バイトを読み込み、現在のバイト順に従って概念上それらを連結して、結果をint値として返します。readLine()入力ストリームから、次の行のテキストを読み込みます。longreadLong()ストリームから8バイトを読み込み、現在のバイト順に従って概念上それらを連結して、結果をlong値として返します。shortストリームから2バイトを読み込み、現在のバイト順に従って概念上それらを連結して、結果をshort値として返します。intストリームからバイトを読み込んで、概念上、整数に変換し、符号拡張ビットを取り除くためにそれを0xffでマスクして、byte値として返します。longストリームから4バイトを読み込んで現在のバイト順に従って概念上それらを連結し、結果の値をlongに変換して、符号拡張ビットを取り除くために0xffffffffLでマスクします。その結果を符号なしlong値として返します。intストリームから2バイトを読み込んで、現在のバイト順に従って概念上それらを連結し、結果として得られる値をintに変換して、符号拡張ビットを取り除くために0xffffでマスクします。その結果を符号なしint値として返します。readUTF()修正UTF-8形式でエンコードされた文字列を読み込みます。voidreset()最新の不一致のmark呼出し時点の、ビット・オフセットを含む以前の位置を指すストリーム・ポインタを返します。voidseek(long pos) 現在のストリーム位置を目的の位置に設定します。voidsetBitOffset(int bitOffset) ビット・オフセットに0から7までの整数を設定します。voidsetByteOrder(ByteOrder byteOrder) このストリームからの今後のデータ値の読込みのために、バイト順を設定します。intskipBytes(int n) 指定されたバイト数だけストリーム位置を前に移動します。longskipBytes(long n) 指定されたバイト数だけストリーム位置を前に移動します。
-
メソッドの詳細
-
setByteOrder
void setByteOrder(ByteOrder byteOrder) このストリームからの今後のデータ値の読込みのために、バイト順を設定します。 たとえば、’0x01 0x02 0x03 0x04’のバイト・シーケンスは、4バイト整数として読み込まれた場合、ネットワーク・バイト順を使用すると‘0x01020304’の値となり、逆バイト順では‘0x04030201’の値となります。列挙クラス
java.nio.ByteOrderを使用してバイト順を指定します。 値ByteOrder.BIG_ENDIANでは、高位のバイトが先頭となる、いわゆるビッグエンディアン(ネットワーク・バイト順)が指定されます。 MotorolaとSparcプロセッサはデータをこの形式で格納します。一方Intelプロセッサは、データを逆順のByteOrder.LITTLE_ENDIANで格納します。バイト順は、
readBitsメソッドから返される結果(ImageOutputStream.writeBitsにより書き込まれる値)には影響を与えません。- パラメータ:
byteOrder-ByteOrder.BIG_ENDIANまたはjava.nio.ByteOrder.LITTLE_ENDIANのいずれか(今後の読込みでネットワーク・バイト順またはその逆順のどちらを使用するかを示す)。- 関連項目:
-
getByteOrder
ByteOrder getByteOrder()このストリームから読み込まれるデータのバイト順を、java.nio.ByteOrder列挙のインスタンスとして返します。- 戻り値:
ByteOrder.BIG_ENDIANまたはByteOrder.LITTLE_ENDIANのいずれか(使用されるバイト順を示す)。- 関連項目:
-
read
int read() throws IOExceptionストリームから1バイトを読み込み、それを0から255までの整数として返します。 ストリームの終わりに達すると -1を返します。ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
- 戻り値:
- ストリームからのバイト値(int)、または -1 (EOFを示す)
- スロー:
IOException- 入出力エラーが発生した場合。
-
read
int read(byte[] b) throws IOException ストリームから最大b.lengthバイトを読み込み、bにインデックス0から格納します。 読み込んだバイト数を返します。 ストリームの終わりに達したためにバイトを読み込めない場合は、-1を返します。ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
- パラメータ:
b- 書き込まれるバイト配列。- 戻り値:
- 実際に読み込まれたバイト数、またはEOFを示す
-1。 - スロー:
NullPointerException-bがnullである場合。IOException- 入出力エラーが発生した場合。
-
read
int read(byte[] b, int off, int len) throws IOException ストリームから最大lenバイトを読み込み、bにインデックスoffから格納します。 読み込んだバイト数を返します。 ストリームの終わりに達したためにバイトを読み込めない場合は、-1を返します。ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
- パラメータ:
b- 書き込まれるバイト配列。off- 書込み先のb内の開始位置。len- 読み込む最大byte数。- 戻り値:
- 実際に読み込まれたバイト数、またはEOFを示す
-1。 - スロー:
NullPointerException-bがnullである場合。IndexOutOfBoundsException-offが負の値の場合、lenが負の値の場合、またはoff+lenがb.lengthより大きい場合。IOException- 入出力エラーが発生した場合。
-
readBytes
void readBytes(IIOByteBuffer buf, int len) throws IOException ストリームからlenバイトまでを読み込み、指定されたIIOByteBufferを変更してデータを検出可能なバイト配列、オフセット、および長さを示します。 呼出し側で、IIOByteBufferで検出されたデータを変更してはいけません。ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
- パラメータ:
buf- 変更されるIIOByteBufferオブジェクト。len- 読み込む最大byte数。- スロー:
IndexOutOfBoundsException-lenが負の値の場合。NullPointerException-bufがnullの場合。IOException- 入出力エラーが発生した場合。
-
readBoolean
boolean readBoolean() throws IOExceptionストリームから1バイトを読み込み、0でない場合はtrueのboolean値を返し、0の場合はfalseを返します。ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
- 定義:
readBoolean、インタフェースDataInput- 戻り値:
- ストリームからのboolean値
- スロー:
EOFException- ストリームの終わりに達した場合。IOException- 入出力エラーが発生した場合。
-
readByte
byte readByte() throws IOExceptionストリームから1バイトを読み込み、それをbyte値として返します。0x00から0x7fまでのバイト値は0から127までの整数を表します。0x80から0xffまでの値は-128から/1までの負の値を表します。ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
- 定義:
readByte、インタフェースDataInput- 戻り値:
- ストリームからの符号付きバイト値
- スロー:
EOFException- ストリームの終わりに達した場合。IOException- 入出力エラーが発生した場合。
-
readUnsignedByte
int readUnsignedByte() throws IOExceptionストリームからバイトを読み込んで、概念上、整数に変換し、符号拡張ビットを取り除くためにそれを0xffでマスクして、byte値として返します。したがって、
0x00から0x7fまでのバイト値は0から127までの整数値として単純に返されます。 通常は負のbyte値を表す0x80から0xffまでの値は、128から255までの正の整数に対応付けされます。ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
- 定義:
readUnsignedByte、インタフェースDataInput- 戻り値:
- ストリームからの符号なしバイト値
- スロー:
EOFException- ストリームの終わりに達した場合。IOException- 入出力エラーが発生した場合。
-
readShort
short readShort() throws IOExceptionストリームから2バイトを読み込み、現在のバイト順に従って概念上それらを連結して、結果をshort値として返します。ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
- 定義:
readShort、インタフェースDataInput- 戻り値:
- ストリームからの符号付きshort値
- スロー:
EOFException- すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException- 入出力エラーが発生した場合。- 関連項目:
-
readUnsignedShort
int readUnsignedShort() throws IOExceptionストリームから2バイトを読み込んで、現在のバイト順に従って概念上それらを連結し、結果として得られる値をintに変換して、符号拡張ビットを取り除くために0xffffでマスクします。その結果を符号なしint値として返します。ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
- 定義:
readUnsignedShort、インタフェースDataInput- 戻り値:
- ストリームからの符号なしshort値のint
- スロー:
EOFException- すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException- 入出力エラーが発生した場合。- 関連項目:
-
readChar
char readChar() throws IOExceptionreadUnsignedShortと同等、ただし結果はcharデータ型を使用して返されます。ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
- 定義:
readChar、インタフェースDataInput- 戻り値:
- ストリームからの符号なしchar値
- スロー:
EOFException- すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException- 入出力エラーが発生した場合。- 関連項目:
-
readInt
int readInt() throws IOExceptionストリームから4バイトを読み込み、現在のバイト順に従って概念上それらを連結して、結果をint値として返します。ストリーム内のビット・オフセットは無視され、0として扱われます。
- 定義:
readInt、インタフェースDataInput- 戻り値:
- ストリームからの符号付きint値
- スロー:
EOFException- すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException- 入出力エラーが発生した場合。- 関連項目:
-
readUnsignedInt
long readUnsignedInt() throws IOExceptionストリームから4バイトを読み込んで現在のバイト順に従って概念上それらを連結し、結果の値をlongに変換して、符号拡張ビットを取り除くために0xffffffffLでマスクします。その結果を符号なしlong値として返します。ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
- 戻り値:
- ストリームからの符号なしint値(long)
- スロー:
EOFException- すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException- 入出力エラーが発生した場合。- 関連項目:
-
readLong
long readLong() throws IOExceptionストリームから8バイトを読み込み、現在のバイト順に従って概念上それらを連結して、結果をlong値として返します。ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
- 定義:
readLong、インタフェースDataInput- 戻り値:
- ストリームからの符号付きlong値
- スロー:
EOFException- すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException- 入出力エラーが発生した場合。- 関連項目:
-
readFloat
float readFloat() throws IOExceptionストリームから4バイトを読み込み、現在のバイト順に従って概念上それらを連結して、結果をfloat値として返します。ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
- 定義:
readFloat、インタフェースDataInput- 戻り値:
- ストリームからのfloat値
- スロー:
EOFException- すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException- 入出力エラーが発生した場合。- 関連項目:
-
readDouble
double readDouble() throws IOExceptionストリームから8バイトを読み込み、現在のバイト順に従って概念上それらを連結して、結果をdouble値として返します。ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
- 定義:
readDouble、インタフェースDataInput- 戻り値:
- ストリームからのdouble値
- スロー:
EOFException- すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException- 入出力エラーが発生した場合。- 関連項目:
-
readLine
String readLine() throws IOException入力ストリームから、次の行のテキストを読み込みます。 このメソッドは、行末記号またはファイルの終わりを検出するまで、連続するバイトを読み込んで、各バイトをそれぞれ文字に変換します。読み込まれた文字は次に、Stringとして返されます。 このメソッドはバイトを処理するものなので、Unicode文字セットの入力を完全にはサポートしません。ファイルの終わりが検出されるまでに1バイトも読み込めなかった場合には、
nullが返されます。 それ以外の場合、読み込まれた各バイトはゼロ拡張によってchar型に変換されます。 文字'\n'が検出されると、この文字は破棄され、読込みは中止されます。 文字'\r'が検出されると、この文字は破棄され、その次のバイトが文字'\n'に変換されますが、この文字も破棄されて、読込みが中止されます。 文字'\n'と文字'\r'のどちらかより前にファイルの終わりが検出されると、読込みが中止されます。 読込みが中止されると、読み込まれて破棄されていないすべての文字を取り込んだ順番で格納しているStringが返されます。 この文字列のそれぞれの文字は\u0100、つまり(char)256より小さい値を持ちます。ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
- 定義:
readLine、インタフェースDataInput- 戻り値:
- ストリームからのテキスト行を含むString
- スロー:
IOException- 入出力エラーが発生した場合。
-
readUTF
String readUTF() throws IOException修正UTF-8形式でエンコードされた文字列を読み込みます。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、インタフェースDataInput- 戻り値:
- ストリームから読み込まれたString
- スロー:
EOFException- すべてのバイトを読み込む前に、このストリームの終わりに達した場合。UTFDataFormatException- 文字列中のバイトが、有効な修正UTF-8形式でエンコードされた文字列以外であった場合。IOException- 入出力エラーが発生した場合。
-
readFully
void readFully(byte[] b, int off, int len) throws IOException ストリームからlenバイトを読み込み、bにインデックスoffから格納します。 ストリームの最後に達すると、java.io.EOFExceptionがスローされます。ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
- 定義:
readFully、インタフェースDataInput- パラメータ:
b- 書き込まれるバイト配列。off- 書込み先のb内の開始位置。len- 読み込む最大byte数。- スロー:
IndexOutOfBoundsException-offが負の値の場合、lenが負の値の場合、またはoff+lenがb.lengthより大きい場合。NullPointerException-bがnullである場合。EOFException- すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException- 入出力エラーが発生した場合。
-
readFully
void readFully(byte[] b) throws IOException ストリームからb.lengthバイトを読み込み、bにインデックス0から格納します。 ストリームの最後に達すると、java.io.EOFExceptionがスローされます。ストリーム内のビット・オフセットは、読込みを行う前に0にリセットされます。
- 定義:
readFully、インタフェースDataInput- パラメータ:
b-byteの配列。- スロー:
NullPointerException-bがnullである場合。EOFException- すべてのバイトを読み込む前に、このストリームの終わりに達した場合。IOException- 入出力エラーが発生した場合。
-
readFully
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- 入出力エラーが発生した場合。
-
readFully
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- 入出力エラーが発生した場合。
-
readFully
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- 入出力エラーが発生した場合。
-
readFully
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- 入出力エラーが発生した場合。
-
readFully
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- 入出力エラーが発生した場合。
-
readFully
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- 入出力エラーが発生した場合。
-
getStreamPosition
long getStreamPosition() throws IOExceptionストリームの現在のバイト位置を返します。 次の読込みはこのオフセットから開始されます。- 戻り値:
- ストリームの位置を含むlong
- スロー:
IOException- 入出力エラーが発生した場合。
-
getBitOffset
int getBitOffset() throws IOException現在のビット・オフセットを0から7までの整数として返します。 ビット・オフセットは、readBitsメソッドの呼出しで暗黙的に更新されます。 値0は読み込まれるバイトの最上位ビット、値7は最下位ビットを示します。ビット・オフセットは、ストリームを最初に開くときに0に設定され、
seek、skipBytes、またはreadかreadFullyメソッドのいずれかが呼び出されると0にリセットされます。- 戻り値:
- 0から7までのオフセット値を含む
int。 - スロー:
IOException- 入出力エラーが発生した場合。- 関連項目:
-
setBitOffset
void setBitOffset(int bitOffset) throws IOException ビット・オフセットに0から7までの整数を設定します。getStreamPositionから返される、ストリーム内のバイト・オフセットは変更されません。 値0は読み込まれるバイトの最上位ビット、値7は最下位ビットを示します。- パラメータ:
bitOffset- 目的のオフセットで、0から7までのint。- スロー:
IllegalArgumentException-bitOffsetが0から7の範囲内にない場合。IOException- 入出力エラーが発生した場合。- 関連項目:
-
readBit
int readBit() throws IOExceptionストリームから1ビットを読み込み、それを値0または1のintとして返します。 ビット・オフセットは1ずつ増加し、8を法として減分します。- 戻り値:
- 値
0または1のint。 - スロー:
EOFException- すべてのビットを読み込む前に、このストリームの終わりに達した場合。IOException- 入出力エラーが発生した場合。
-
readBits
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- 入出力エラーが発生した場合。
-
length
long length() throws IOException既知の場合、ストリームの全長を返します。 それ以外の場合は-1が返されます。- 戻り値:
- 既知の場合はストリームの長さの
long、そうでない場合は-1。 - スロー:
IOException- 入出力エラーが発生した場合。
-
skipBytes
int skipBytes(int n) throws IOException 指定されたバイト数だけストリーム位置を前に移動します。 たとえばストリームの終わりに達した場合、このメソッドは要求されたよりも少ないバイト数だけ前にスキップできます。 どの場合でも、実際にスキップされたバイト数が返されます。 位置の前進は、ビット・オフセットが0にリセットされてから行われます。- 定義:
skipBytes、インタフェースDataInput- パラメータ:
n- スキップするバイト数を含むint。- 戻り値:
- スキップされたバイト数を示す
int。 - スロー:
IOException- 入出力エラーが発生した場合。
-
skipBytes
long skipBytes(long n) throws IOException 指定されたバイト数だけストリーム位置を前に移動します。 このメソッドはskipBytes(int)と同じですが、さらに離れた位置までスキップできます。- パラメータ:
n- スキップするバイト数を含むlong。- 戻り値:
- スキップされたバイト数を示す
long。 - スロー:
IOException- 入出力エラーが発生した場合。
-
seek
void seek(long pos) throws IOException 現在のストリーム位置を目的の位置に設定します。 次回の読込みはこの位置で行われます。 ビット・オフセットは0に設定されます。posがgetflushedPositionから返されるフラッシュ位置よりも小さい場合は、IndexOutOfBoundsExceptionがスローされます。ファイルの終わりを越えてシークすることは正当です。
java.io.EOFExceptionは、読取りが実行された場合にのみスローされます。- パラメータ:
pos- 目的のファイル・ポインタ位置を示すlong。- スロー:
IndexOutOfBoundsException-posがフラッシュ位置よりも小さい場合。IOException- その他の入出力エラーが発生した場合。
-
mark
void mark()その後のreset呼出しで返されるストリーム内の位置をマーク付けします。 標準のInputStreamとは異なり、ImageInputStreamはすべてマーク付けをサポートします。 さらに、markとresetの呼出しは、任意にネスト化することができます。ReaderおよびInputStreamインタフェースで宣言されるmarkメソッドとは異なり、readLimitパラメータは使用されません。markの呼出しに続いて任意のデータ量を読み込むことができます。readBitsメソッドで使用されるビット位置は保存され、markとresetをペアで呼び出すたびに復元されます。ImageReaderは、読込み操作の一部としてflushBeforeを呼び出すことができることに留意してください。 このため、アプリケーションがストリームをImageReaderに渡す前にmarkを呼び出す場合、読込み操作が完了したあともマーク位置が有効であると考えるべきではありません。 -
reset
void reset() throws IOException最新の不一致のmark呼出し時点の、ビット・オフセットを含む以前の位置を指すストリーム・ポインタを返します。対応する
markを呼び出さずにresetを呼び出す場合には影響ありません。以前にマーク付けされた位置がストリームの破棄された部分である場合には
IOExceptionがスローされます。- スロー:
IOException- 入出力エラーが発生した場合。
-
flushBefore
void flushBefore(long pos) throws IOException 指示された位置より前のストリームの先頭部分を破棄します。 ストリームのフラッシュされた部分内のオフセットにシークしようとすると、IndexOutOfBoundsExceptionがスローされます。flushBeforeを呼び出すと、このインタフェースを実装するクラスが、ストリームからデータを格納するのに使用するメモリーやディスク・スペースなどのリソースを解放できます。- パラメータ:
pos- フラッシュされるストリーム接頭辞の長さを示すlong。- スロー:
IndexOutOfBoundsException-posがストリームのフラッシュ部分にあるか、または現在のストリーム位置を通過した場合。IOException- 入出力エラーが発生した場合。
-
flush
void flush() throws IOException現在のストリーム位置より前の初期のストリーム位置を破棄します。flushBefore(getStreamPosition())と同等です。- スロー:
IOException- 入出力エラーが発生した場合。
-
getFlushedPosition
long getFlushedPosition()シークが実行されるストリーム内の一番初期の位置を返します。 戻り値は、以前のflushBefore呼出しに渡されたすべての値の最大値になります。- 戻り値:
- 一番初期の正当なシーク位置を示す
long。
-
isCached
boolean isCached()逆シークを可能にするために、このImageInputStreamがデータ自体をキャッシュに格納する場合はtrueを返します。 アプリケーションはキャッシュ・リソースを節約するために、これを参照してフラッシュの頻度、またはフラッシュするかどうかを決定できます。- 戻り値:
- この
ImageInputStreamがデータをキャッシュに格納する場合はtrue。 - 関連項目:
-
isCachedMemory
boolean isCachedMemory()このImageInputStreamが、逆シークを有効にするためにデータ自体をキャッシュに格納し、キャッシュがメイン・メモリーに保持される場合はtrueを返します。 アプリケーションはキャッシュ・リソースを節約するために、これを参照してフラッシュの頻度、またはフラッシュするかどうかを決定できます。- 戻り値:
- この
ImageInputStreamがデータをメイン・メモリーにキャッシュする場合はtrue。 - 関連項目:
-
isCachedFile
boolean isCachedFile()このImageInputStreamが、逆シークを可能にするためにデータ自体をキャッシュに格納し、キャッシュが一時ファイルに保持される場合はtrueを返します。 アプリケーションはキャッシュ・リソースを節約するために、これを参照してフラッシュの頻度、またはフラッシュするかどうかを決定できます。- 戻り値:
- この
ImageInputStreamがデータを一時ファイルにキャッシュする場合はtrue。 - 関連項目:
-
close
void close() throws IOExceptionストリームを閉じます。 閉じたストリームにアクセスしようとすると、IOExceptionがスローされるか不正な動作が実行される場合があります。 このメソッドを呼び出すと、このインタフェースを実装するクラスが、メモリー、ディスク・スペース、またはファイル記述子などのストリームに関連するリソースを解放できます。- 定義:
close、インタフェースAutoCloseable- 定義:
close、インタフェースCloseable- スロー:
IOException- 入出力エラーが発生した場合。
-