|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.imageio.stream.ImageInputStreamImpl
public abstract class ImageInputStreamImpl
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 をスローします。 |
void |
close()
ストリームを閉じます。 |
protected void |
finalize()
ガベージコレクションの前にこのオブジェクトをファイナライズします。 |
void |
flush()
現在のストリーム位置より前の初期のストリーム位置を破棄します。 |
void |
flushBefore(long pos)
指示された位置より前の初期のストリーム部分を破棄します。 |
int |
getBitOffset()
現在のビットオフセットを 0 から 7 までの整数として返します。 |
ByteOrder |
getByteOrder()
このストリームから読み込まれるデータのバイト順を、 java.nio.ByteOrder 列挙のインスタンスとして返します。 |
long |
getFlushedPosition()
シークが実行されるストリーム内の一番初期の位置を返します。 |
long |
getStreamPosition()
ストリームの現在のバイト位置を返します。 |
boolean |
isCached()
デフォルトの実装では false を返します。 |
boolean |
isCachedFile()
デフォルトの実装では false を返します。 |
boolean |
isCachedMemory()
デフォルトの実装では false を返します。 |
long |
length()
ストリームが未知の長さであることを示す -1L を返します。 |
void |
mark()
マーク付けされた位置のスタック上に現在のストリーム位置をプッシュします。 |
abstract int |
read()
ストリームから 1 バイトを読み込み、それを 0 から 255 までの整数として返します。 |
int |
read(byte[] b)
read(b, 0, b.length) を呼び出す簡易メソッドです。 |
abstract 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 バイトの入力データを読み込んで、そのバイトがゼロ以外の場合は true 、そのバイトがゼロの場合は false を返します。 |
byte |
readByte()
1 バイトの入力データを読み込んで返します。 |
void |
readBytes(IIOByteBuffer buf,
int len)
ストリームから len バイトまでを読み込み、指定された IIOByteBuffer を変更してデータを検出可能なバイト配列、オフセット、および長さを示します。 |
char |
readChar()
入力データの char を読み込んで、char 値を返します。 |
double |
readDouble()
8 バイトの入力データを読み込んで、 double 値を返します。 |
float |
readFloat()
4 バイトの入力データを読み込んで、 float 値を返します。 |
void |
readFully(byte[] b)
入力ストリームからいくつかのバイトを読み込んで、バッファ配列 b に格納します。 |
void |
readFully(byte[] b,
int off,
int len)
入力ストリームから len バイトを読み込みます。 |
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()
1 バイトの入力データを読み込んで、 int 型にゼロ拡張して結果を返します。 |
long |
readUnsignedInt()
ストリームから 4 バイトを読み込んで現在のバイト順に従って概念上それらを連結し、結果の値を long に変換して、符号拡張ビットを取り除くために 0xffffffffL でマスクします。 |
int |
readUnsignedShort()
2 バイトの入力データを読み込んで、 0 〜 65535 の範囲の int 値を返します。 |
String |
readUTF()
修正 UTF-8 形式でエンコードされた文字列を読み込みます。 |
void |
reset()
マーク付けされた位置のスタックから現在のストリームバイトおよびビット位置をリセットします。 |
void |
seek(long pos)
現在のストリーム位置を目的の位置に設定します。 |
void |
setBitOffset(int bitOffset)
ビットオフセットに 0 から 7 までの整数を設定します。 |
void |
setByteOrder(ByteOrder byteOrder)
このストリームからの今後のデータ値の読み込みのために、バイト順を設定します。 |
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 |
フィールドの詳細 |
---|
protected ByteOrder byteOrder
java.nio.ByteOrder
のインスタンスで表されるストリームのバイト順で、ByteOrder.BIG_ENDIAN
はネットワークバイト順、ByteOrder.LITTLE_ENDIAN
は逆順を示します。デフォルトでは、値は ByteOrder.BIG_ENDIAN
です。
protected long streamPos
protected int bitOffset
protected long flushedPos
flushedPos
は常に 0 以上になります。
コンストラクタの詳細 |
---|
public ImageInputStreamImpl()
ImageInputStreamImpl
を構築します。
メソッドの詳細 |
---|
protected final void checkClosed() throws IOException
IOException
をスローします。サブクラスは、ストリームが開いていることが必要などのメソッドからも、このメソッドを呼び出すことができます。
IOException
- ストリームが閉じられている場合public void setByteOrder(ByteOrder byteOrder)
ImageInputStream
の記述: 列挙クラス java.nio.ByteOrder
を使用してバイト順を指定します。値 ByteOrder.BIG_ENDIAN
では、高位のバイトが先頭となる、いわゆるビッグエンディアン (ネットワークバイト順) が指定されます。Motorola と Sparc プロセッサはデータをこの形式で格納します。一方 Intel プロセッサは、データを逆順の ByteOrder.LITTLE_ENDIAN
で格納します。
バイト順は、readBits
メソッドから返される結果 (ImageOutputStream.writeBits
により書き込まれる値) には影響を与えません。
ImageInputStream
内の setByteOrder
byteOrder
- ByteOrder.BIG_ENDIAN
または java.nio.ByteOrder.LITTLE_ENDIAN
のいずれか (今後の読み込みでネットワークバイト順またはその逆順のどちらを使用するかを示す)ByteOrder
,
ImageInputStream.getByteOrder()
,
ImageInputStream.readBits(int)
public ByteOrder getByteOrder()
ImageInputStream
の記述: java.nio.ByteOrder
列挙のインスタンスとして返します。
ImageInputStream
内の getByteOrder
ByteOrder.BIG_ENDIAN
または ByteOrder.LITTLE_ENDIAN
のいずれか (使用されるバイト順を示す)ByteOrder
,
ImageInputStream.setByteOrder(java.nio.ByteOrder)
public abstract int read() throws IOException
ImageInputStream
の記述: ストリーム内のビットオフセットは、読み込みを行う前に 0 にリセットされます。
ImageInputStream
内の read
IOException
- 入出力エラーが発生した場合public int read(byte[] b) throws IOException
read(b, 0, b.length)
を呼び出す簡易メソッドです。
ストリーム内のビットオフセットは、読み込みを行う前に 0 にリセットされます。
ImageInputStream
内の read
b
- 書き込まれるバイト配列
-1
NullPointerException
- b
が null
の場合
IOException
- 入出力エラーが発生した場合public abstract int read(byte[] b, int off, int len) throws IOException
len
バイトまで読み込み、b
にインデックス off
から格納します。読み込んだバイト数を返します。ストリームの終りに達したためにバイトを読み込めない場合は、-1 を返します。
ストリーム内のビットオフセットは、読み込みを行う前に 0 にリセットする必要があります。
サブクラスでこのメソッドを実装する必要があります。サブクラス実装で終了する前にストリーム位置を更新します。
ImageInputStream
内の read
b
- 書き込まれるバイト配列off
- 書き込み先の b
内の開始位置len
- 読み込む最大バイト数
-1
IndexOutOfBoundsException
- off
が負、len
が負、または off + len
が b.length
より大きい場合
NullPointerException
- b
が null
の場合
IOException
- 入出力エラーが発生した場合public void readBytes(IIOByteBuffer buf, int len) throws IOException
ImageInputStream
の記述: len
バイトまでを読み込み、指定された IIOByteBuffer
を変更してデータを検出可能なバイト配列、オフセット、および長さを示します。呼び出し側で、IIOByteBuffer
で検出されたデータを変更してはなりません。
ストリーム内のビットオフセットは、読み込みを行う前に 0 にリセットされます。
ImageInputStream
内の readBytes
buf
- 変更される IIOByteBuffer オブジェクトlen
- byte
の最大読み込み数
IOException
- 入出力エラーが発生した場合public boolean readBoolean() throws IOException
DataInput
の記述: true
、そのバイトがゼロの場合は false
を返します。このメソッドは、DataOutput
インタフェースの writeBoolean
メソッドが書き込むバイトを読み込むのに適しています。
DataInput
内の readBoolean
ImageInputStream
内の readBoolean
boolean
の値
EOFException
- すべてのバイトを読み込む前に、このストリームの終わりに達した場合
IOException
- 入出力エラーが発生した場合public byte readByte() throws IOException
DataInput
の記述: -128
〜 127
の範囲 (上下限値を含む) の符号付きの値として処理されます。このメソッドは、DataOutput
インタフェースの writeByte
メソッドによって書き込まれたバイトを読み込むのに適しています。
DataInput
内の readByte
ImageInputStream
内の readByte
EOFException
- すべてのバイトを読み込む前に、このストリームの終わりに達した場合
IOException
- 入出力エラーが発生した場合public int readUnsignedByte() throws IOException
DataInput
の記述: int
型にゼロ拡張して結果を返します。このため、結果は 0
〜 255
の範囲内になります。DataOutput
インタフェースの writeByte
メソッドの引数がこの範囲内の値になるように意図されている場合、このメソッドは writeByte
メソッドによって書き込まれたバイトを読み込むのに適しています。
DataInput
内の readUnsignedByte
ImageInputStream
内の readUnsignedByte
EOFException
- すべてのバイトを読み込む前に、このストリームの終わりに達した場合
IOException
- 入出力エラーが発生した場合public short readShort() throws IOException
DataInput
の記述: short
値を返します。a
を 1 番目のバイト、b
を 2 番目のバイトとすると、戻り値は次のようになります。
(short)((a <<
8) | (b &
0xff))
このメソッドは、DataOutput
インタフェースの writeShort
メソッドによって書き込まれたバイトを読み込むのに適しています。
DataInput
内の readShort
ImageInputStream
内の readShort
EOFException
- すべてのバイトを読み込む前に、このストリームの終わりに達した場合
IOException
- 入出力エラーが発生した場合ImageInputStream.getByteOrder()
public int readUnsignedShort() throws IOException
DataInput
の記述: 0
〜 65535
の範囲の int
値を返します。a
を 1 番目のバイト、b
を 2 番目のバイトとすると、戻り値は次のようになります。
(((a &
0xff) <<
8) | (b &
0xff))
DataOutput
インタフェースの writeShort
メソッドの引数が 0
〜 65535
の範囲の値になるように意図されている場合、このメソッドは writeShort
メソッドによって書き込まれたバイトを読み込むのに適しています。
DataInput
内の readUnsignedShort
ImageInputStream
内の readUnsignedShort
EOFException
- すべてのバイトを読み込む前に、このストリームの終わりに達した場合
IOException
- 入出力エラーが発生した場合ImageInputStream.getByteOrder()
public char readChar() throws IOException
DataInput
の記述: char
を読み込んで、char
値を返します。Unicode char
は 2 バイトから構成されます。a
を 1 番目のバイト、b
を 2 番目のバイトとすると、戻り値は次のようになります。
(char)((a <<
8) | (b &
0xff))
このメソッドは、DataOutput
インタフェースの writeChar
メソッドによって書き込まれたバイトを読み込むのに適しています。
DataInput
内の readChar
ImageInputStream
内の readChar
char
の値
EOFException
- すべてのバイトを読み込む前に、このストリームの終わりに達した場合
IOException
- 入出力エラーが発生した場合ImageInputStream.readUnsignedShort()
public int readInt() throws IOException
DataInput
の記述: int
値を返します。a
を 1 番目、b
を 2 番目、c
を 3 番目、d
を 4 番目のバイトとすると、戻り値は次のようになります。
(((a & 0xff) << 24) | ((b & 0xff) << 16) | ((c & 0xff) << 8) | (d & 0xff))
このメソッドは、DataOutput
インタフェースの writeInt
メソッドによって書き込まれたバイトを読み込むのに適しています。
DataInput
内の readInt
ImageInputStream
内の readInt
int
の値
EOFException
- すべてのバイトを読み込む前に、このストリームの終わりに達した場合
IOException
- 入出力エラーが発生した場合ImageInputStream.getByteOrder()
public long readUnsignedInt() throws IOException
ImageInputStream
の記述: 0xffffffffL
でマスクします。その結果を符号なし long
値として返します。
ストリーム内のビットオフセットは、読み込みを行う前に 0 にリセットされます。
ImageInputStream
内の readUnsignedInt
EOFException
- すべてのバイトを読み込む前に、このストリームの終わりに達した場合
IOException
- 入出力エラーが発生した場合ImageInputStream.getByteOrder()
public long readLong() throws IOException
DataInput
の記述: long
値を返します。a
を 1 番目、b
を 2 番目、c
を 3 番目、d
を 4 番目、e
を 5 番目、f
を 6 番目、g
を 7 番目、h
を 8 番目のバイトとすると、戻り値は次のようになります。
(((long)(a & 0xff) << 56) | ((long)(b & 0xff) << 48) | ((long)(c & 0xff) << 40) | ((long)(d & 0xff) << 32) | ((long)(e & 0xff) << 24) | ((long)(f & 0xff) << 16) | ((long)(g & 0xff) << 8) | ((long)(h & 0xff)))
このメソッドは、DataOutput
インタフェースの writeLong
メソッドによって書き込まれたバイトを読み込むのに適しています。
DataInput
内の readLong
ImageInputStream
内の readLong
long
の値
EOFException
- すべてのバイトを読み込む前に、このストリームの終わりに達した場合
IOException
- 入出力エラーが発生した場合ImageInputStream.getByteOrder()
public float readFloat() throws IOException
DataInput
の記述: float
値を返します。このためには、まず readInt
メソッドとまったく同じ方法で int
値を作成し、次にこの int
値を Float.intBitsToFloat
メソッドとまったく同じ方法で float
に変換します。このメソッドは、DataOutput
インタフェースの writeFloat
メソッドによって書き込まれたバイトを読み込むのに適しています。
DataInput
内の readFloat
ImageInputStream
内の readFloat
float
の値
EOFException
- すべてのバイトを読み込む前に、このストリームの終わりに達した場合
IOException
- 入出力エラーが発生した場合ImageInputStream.getByteOrder()
public double readDouble() throws IOException
DataInput
の記述: double
値を返します。このためには、まず readlong
メソッドとまったく同じ方法で long
値を作成し、次にこの long
値を Double.longBitsToDouble
メソッドとまったく同じ方法で double
に変換します。このメソッドは、DataOutput
インタフェースの writeDouble
メソッドによって書き込まれたバイトを読み込むのに適しています。
DataInput
内の readDouble
ImageInputStream
内の readDouble
double
の値
EOFException
- すべてのバイトを読み込む前に、このストリームの終わりに達した場合
IOException
- 入出力エラーが発生した場合ImageInputStream.getByteOrder()
public String readLine() throws IOException
DataInput
の記述: String
として返されます。このメソッドはバイトを処理するものなので、Unicode 文字セットの入力を完全にはサポートしません。
ファイルの終わりが検出されるまでに 1 バイトも読み込めなかった場合には、null
が返されます。そうでない場合、読み込まれた各バイトはゼロ拡張によって char
型に変換されます。文字 '\n'
が検出されると、この文字は破棄され、読み込みは中止されます。文字 '\r'
が検出されると、この文字は破棄され、その次のバイトが文字 '\n'
に変換されますが、この文字も破棄されて、読み込みが中止されます。文字 '\n'
と文字 '\r'
のどちらかより前にファイルの終わりが検出されると、読み込みが中止されます。読み込みが中止されると、読み込まれて破棄されていないすべての文字を取り込んだ順番で格納している String
が返されます。この文字列のそれぞれの文字は \u0100
、つまり (char)256
より小さい値を持ちます。
DataInput
内の readLine
ImageInputStream
内の readLine
null
IOException
- 入出力エラーが発生した場合public String readUTF() throws IOException
DataInput
の記述: 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
がスローされます。
この処理全体のどこかでファイルの終わりが検出されると、EOFException
がスローされます。
各グループがこの処理で 1 文字に変換されると、対応するグループが入力ストリームから読み込まれたのと同じ順序で各文字が収集され、String
を表現します。そして、この String
が返されます。
DataOutput
インタフェースの writeUTF
メソッドを使うと、このメソッドで読み込むのに適したデータを書き込むことができます。
DataInput
内の readUTF
ImageInputStream
内の readUTF
EOFException
- すべてのバイトを読み込む前に、このストリームの終わりに達した場合
IOException
- 入出力エラーが発生した場合
UTFDataFormatException
- 文字列中のバイトが、有効な修正 UTF-8 形式でエンコードされた文字列以外であった場合public void readFully(byte[] b, int off, int len) throws IOException
DataInput
の記述: len
バイトを読み込みます。
このメソッドは、以下の条件の 1 つが発生するまでブロックします。
len
バイトの入力データが読み込み可能。この場合、通常の値が返される
EOFException
がスローされる
EOFException
ではなく IOException
がスローされる
b
が null
の場合、NullPointerException
がスローされます。off
が負の値の場合、len
が負の値の場合、あるいは off+len
が配列 b
の長さよりも大きい場合、IndexOutOfBoundsException
がスローされます。len
がゼロの場合、読み込まれるバイトはありません。そうでない場合、読み込まれる最初のバイトは要素 b[off]
に、次のバイトは要素 b[off+1]
にと順次格納されていきます。読み込まれるバイト数は、最大でも len
までです。
DataInput
内の readFully
ImageInputStream
内の readFully
b
- データの読み込み先のバッファoff
- データへのオフセットを指定する intlen
- 読み込むバイト数を指定する int
EOFException
- すべてのバイトを読み込む前に、このストリームの終わりに達した場合
IOException
- 入出力エラーが発生した場合public void readFully(byte[] b) throws IOException
DataInput
の記述: b
に格納します。読み込まれるバイト数は b
の長さに一致します。
このメソッドは、以下の条件の 1 つが発生するまでブロックします。
b.length
バイトの入力データが読み込み可能。この場合、通常の値が返される
EOFException
がスローされる
EOFException
ではなく IOException
がスローされる
b
が null
の場合、NullPointerException
がスローされます。b.length
がゼロの場合、読み込まれるバイトはありません。そうでない場合、読み込まれる最初のバイトは要素 b[0]
に、次のバイトは要素 b[1]
にと順次格納されていきます。このメソッドから例外がスローされると、b
のすべてではないにしても一部のバイトが入力ストリームのデータで更新されています。
DataInput
内の readFully
ImageInputStream
内の readFully
b
- データの読み込み先のバッファ
EOFException
- すべてのバイトを読み込む前に、このストリームの終わりに達した場合
IOException
- 入出力エラーが発生した場合public void readFully(short[] s, int off, int len) throws IOException
ImageInputStream
の記述: len
バイトの short (符号付き 16 ビット整数) 値を読み込み、それらを s
にインデックス off
から格納します。ストリームの終わりに達すると、 EOFException
がスローされます。
ストリーム内のビットオフセットは、読み込みを行う前に 0 にリセットされます。
ImageInputStream
内の readFully
s
- 書き込まれる short 配列off
- 書き込み先の b 内の開始位置len
- short
の最大読み込み数
EOFException
- すべてのバイトを読み込む前に、このストリームの終わりに達した場合
IOException
- 入出力エラーが発生した場合public void readFully(char[] c, int off, int len) throws IOException
ImageInputStream
の記述: len
バイトの char (符号なし 16 ビット整数) 値を読み込み、それらを c
にインデックス off
から格納します。ストリームの終わりに達すると、 EOFException
がスローされます。
ストリーム内のビットオフセットは、読み込みを行う前に 0 にリセットされます。
ImageInputStream
内の readFully
c
- 書き込まれる char 配列off
- 書き込み先の b 内の開始位置len
- char
の最大読み込み数
EOFException
- すべてのバイトを読み込む前に、このストリームの終わりに達した場合
IOException
- 入出力エラーが発生した場合public void readFully(int[] i, int off, int len) throws IOException
ImageInputStream
の記述: len
バイトの int (符号付き 32 ビット整数) 値を読み込み、それらを i
にインデックス off
から格納します。ストリームの終わりに達すると、 EOFException
がスローされます。
ストリーム内のビットオフセットは、読み込みを行う前に 0 にリセットされます。
ImageInputStream
内の readFully
i
- 書き込まれる int 配列off
- 書き込み先の b 内の開始位置len
- int
の最大読み込み数
EOFException
- すべてのバイトを読み込む前に、このストリームの終わりに達した場合
IOException
- 入出力エラーが発生した場合public void readFully(long[] l, int off, int len) throws IOException
ImageInputStream
の記述: len
バイトの long (符号付き 64 ビット整数) 値を読み込み、それらを l
にインデックス off
から格納します。ストリームの終わりに達すると、 EOFException
がスローされます。
ストリーム内のビットオフセットは、読み込みを行う前に 0 にリセットされます。
ImageInputStream
内の readFully
l
- 書き込まれる long 配列off
- 書き込み先の b 内の開始位置len
- long
の最大読み込み数
EOFException
- すべてのバイトを読み込む前に、このストリームの終わりに達した場合
IOException
- 入出力エラーが発生した場合public void readFully(float[] f, int off, int len) throws IOException
ImageInputStream
の記述: len
バイトの float (32 ビット IEEE 単精度浮動小数点数) 値を読み込み、それらを f
にインデックス off
から格納します。ストリームの終わりに達すると、 EOFException
がスローされます。
ストリーム内のビットオフセットは、読み込みを行う前に 0 にリセットされます。
ImageInputStream
内の readFully
f
- 書き込まれる float 配列off
- 書き込み先の b 内の開始位置len
- float
の最大読み込み数
EOFException
- すべてのバイトを読み込む前に、このストリームの終わりに達した場合
IOException
- 入出力エラーが発生した場合public void readFully(double[] d, int off, int len) throws IOException
ImageInputStream
の記述: len
バイトの double (64 ビット IEEE 倍精度浮動小数点数) 値を読み込み、それらを d
にインデックス off
から格納します。ストリームの終わりに達すると、 EOFException
がスローされます。
ストリーム内のビットオフセットは、読み込みを行う前に 0 にリセットされます。
ImageInputStream
内の readFully
d
- 書き込まれる double 配列off
- 書き込み先の b 内の開始位置len
- double
の最大読み込み数
EOFException
- すべてのバイトを読み込む前に、このストリームの終わりに達した場合
IOException
- 入出力エラーが発生した場合public long getStreamPosition() throws IOException
ImageInputStream
の記述:
ImageInputStream
内の getStreamPosition
IOException
- 入出力エラーが発生した場合public int getBitOffset() throws IOException
ImageInputStream
の記述: readBits
メソッドの呼び出しで暗黙的に更新されます。値 0 は読み込まれるバイトの最上位ビット、値 7 は最下位ビットを示します。
ビットオフセットは、ストリームを最初に開くときに 0 に設定され、seek
、skipBytes
、または read
か readFully
メソッドのいずれかが呼び出されると 0 にリセットされます。
ImageInputStream
内の getBitOffset
int
IOException
- 入出力エラーが発生した場合ImageInputStream.setBitOffset(int)
public void setBitOffset(int bitOffset) throws IOException
ImageInputStream
の記述: getStreamPosition
から返される、ストリーム内のバイトオフセットは変更されません。値 0 は読み込まれるバイトの最上位ビット、値 7 は最下位ビットを示します。
ImageInputStream
内の setBitOffset
bitOffset
- 目的のオフセットで、0 から 7 までの int
IOException
- 入出力エラーが発生した場合ImageInputStream.getBitOffset()
public int readBit() throws IOException
ImageInputStream
の記述: 0
または 1
の int
として返します。ビットオフセットは 1 ずつ増加し、8 を法として減分します。
ImageInputStream
内の readBit
0
または 1
の int
EOFException
- すべてのビットを読み込む前に、このストリームの終わりに達した場合
IOException
- 入出力エラーが発生した場合public long readBits(int numBits) throws IOException
ImageInputStream
の記述: 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()
の結果と異なる場合があります。
すべてのビットを読み込む前にストリームの終わりを検出した場合、EOFException
がスローされます。
ImageInputStream
内の readBits
numBits
- 読み込むビット数を示す 0 から 64 までの int
long
のビット列
EOFException
- すべてのビットを読み込む前に、このストリームの終わりに達した場合
IOException
- 入出力エラーが発生した場合public long length()
-1L
を返します。サブクラスでこのメソッドをオーバーライドして、実際の長さの情報を指定する必要があります。
ImageInputStream
内の length
public int skipBytes(int n) throws IOException
seek(getStreamPosition() + n)
を呼び出して、現在のストリーム位置を前進させます。
ビットオフセットは 0 にリセットされます。
DataInput
内の skipBytes
ImageInputStream
内の skipBytes
n
- 前方にシークするバイト数
int
IOException
- 開始または終了位置を計算する際に getStreamPosition
が IOException
をスローする場合public long skipBytes(long n) throws IOException
seek(getStreamPosition() + n)
を呼び出して、現在のストリーム位置を前進させます。
ビットオフセットは 0 にリセットされます。
ImageInputStream
内の skipBytes
n
- 前方にシークするバイト数
long
IOException
- 開始または終了位置を計算する際に getStreamPosition
が IOException
をスローする場合public void seek(long pos) throws IOException
ImageInputStream
の記述: pos
が getflushedPosition
から返されるフラッシュ位置よりも小さい場合は、IndexOutOfBoundsException
がスローされます。
シークでファイルの終わりを通過することは正常であり、EOFException
は読み込みの場合のみスローされます。
ImageInputStream
内の seek
pos
- 目的のファイルポインタ位置を示す long
IOException
- その他の入出力エラーが発生した場合public void mark()
ImageInputStream
内の mark
public void reset() throws IOException
以前にマーク付けされた位置がストリームの破棄された部分である場合には IOException
がスローされます。
ImageInputStream
内の reset
IOException
- 入出力エラーが発生した場合public void flushBefore(long pos) throws IOException
ImageInputStream
の記述: IndexOutOfBoundsException
がスローされます。
flushBefore
を呼び出すと、このインタフェースを実装するクラスが、ストリームからデータを格納するのに使用するメモリやディスクスペースなどのリソースを解放できます。
ImageInputStream
内の flushBefore
pos
- フラッシュされるファイル接頭辞の長さを示す long
IOException
- 入出力エラーが発生した場合public void flush() throws IOException
ImageInputStream
の記述: flushBefore(getStreamPosition())
と同じです。
ImageInputStream
内の flush
IOException
- 入出力エラーが発生した場合public long getFlushedPosition()
ImageInputStream
の記述: flushBefore
呼び出しに渡されたすべての値の最大値になります。
ImageInputStream
内の getFlushedPosition
long
public boolean isCached()
ImageInputStream
内の isCached
ImageInputStream
がデータをキャシュに格納する場合は true
ImageInputStream.isCachedMemory()
,
ImageInputStream.isCachedFile()
public boolean isCachedMemory()
ImageInputStream
内の isCachedMemory
ImageInputStream
がデータをメインメモリにキャシュする場合は true
ImageInputStream.isCached()
,
ImageInputStream.isCachedFile()
public boolean isCachedFile()
ImageInputStream
内の isCachedFile
ImageInputStream
がデータを一時ファイルにキャシュする場合は true
ImageInputStream.isCached()
,
ImageInputStream.isCachedMemory()
public void close() throws IOException
ImageInputStream
の記述: IOException
がスローされるか不正な動作が実行される場合があります。このメソッドを呼び出すと、このインタフェースを実装するクラスが、メモリ、ディスクスペース、またはファイル記述子などのストリームに関連するリソースを解放できます。
ImageInputStream
内の close
IOException
- 入出力エラーが発生した場合protected void finalize() throws Throwable
close
メソッドを呼び出して、開いている入力ソースをすべて閉じます。このメソッドを、アプリケーションコードから呼び出してはなりません。
Object
内の finalize
Throwable
- スーパークラスのファイナライズ時にエラーが発生した場合
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。