|
|||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||
public interface JNLPRandomAccessFile
このクラスのインスタンスは、ランダムアクセスファイルに対する読み取りと書き込みの両方をサポートします。ランダムアクセスファイルの動作は、ファイルシステムに格納された大規模なバイト配列の動作に似ています。また、ファイルポインタと呼ばれるある種のカーソル、つまり暗示配列内へのインデックスがあり、入力操作ではファイルポインタの位置でバイトの読み取りを開始し、読み取ったバイトを越えてファイルポインタを進めます。ランダムアクセスファイルが読み取り/書き込みモードで生成された場合、出力操作も利用可能になります。出力操作では、ファイルポインタの位置でバイトの書き込みを開始し、書き込まれたバイトを越えてファイルポインタを進めます。現在の暗黙の配列の終わりを越える出力操作では、配列の拡張が発生します。ファイルポインタは getFilePointer メソッドにより読み取ることができ、seek メソッドにより設定できます。
必要なバイト数を読み取る前に end-of-file に到達した場合、IOException の一種である EOFException がスローされますが、このことはこのクラスのすべての読み取りルーチンに当てはまります。end-of-file 以外の何らかの理由によりバイトを読み取ることができない場合、EOFException 以外の IOException がスローされます。特に、ストリームが閉じられた場合は、IOException がスローされる可能性があります。
実装には、ファイルに書き込み可能なデータの最大量を施行することが勧められています。
| メソッドの概要 | |
|---|---|
void |
close()
このランダムアクセスファイルストリームを閉じて、ストリームに関連付けられたシステムリソースを解放します。 |
long |
getFilePointer()
このファイルの現在のオフセットを返します。 |
long |
length()
このファイルの長さを返します。 |
int |
read()
このファイルからデータのバイトを読み取ります。 |
int |
read(byte[] b)
このファイルから最大 b.length バイトのデータをバイトの配列の中に読み取ります。 |
int |
read(byte[] b,
int off,
int len)
このファイルから最大 len バイトのデータをバイトの配列の中に読み取ります。 |
boolean |
readBoolean()
このファイルから boolean を読み取ります。 |
byte |
readByte()
このファイルから署名付き 8 ビット値を読み取ります。 |
char |
readChar()
このファイルから Unicode 文字を読み取ります。 |
double |
readDouble()
このファイルから double を読み取ります。 |
float |
readFloat()
このファイルから float を読み取ります。 |
void |
readFully(byte[] b)
現在のファイルポインタの位置から開始して b.length バイトをこのファイルからバイト配列の中に読み取ります。 |
void |
readFully(byte[] b,
int off,
int len)
現在のファイルポインタの位置から開始して正確に len バイトをこのファイルからバイト配列の中に読み取ります。 |
int |
readInt()
このファイルから署名付き 32 ビット整数文字を読み取ります。 |
java.lang.String |
readLine()
このファイルのテキストの次の行を読み取ります。 |
long |
readLong()
このファイルから署名付き 64 ビット整数文字を読み取ります。 |
short |
readShort()
このファイルから署名付き 16 ビット数を読み取ります。 |
int |
readUnsignedByte()
このファイルから符号なし 8 ビット数を読み取ります。 |
int |
readUnsignedShort()
このファイルから符号なし 16 ビット数を読み取ります。 |
java.lang.String |
readUTF()
このファイルから文字列を読み取ります。 |
void |
seek(long pos)
次の読み取りまたは書き込みが発生する、ファイルの先頭から測定したファイルポインタオフセットを設定します。 |
void |
setLength(long newLength)
このファイルの長さを設定します。 |
int |
skipBytes(int n)
入力の n バイトをスキップして、スキップしたバイトを破棄しようとします。 |
void |
write(byte[] b)
現在のファイルポインタの位置から開始して、指定されたバイト配列から b.length バイトをこのファイルに書き込みます。 |
void |
write(byte[] b,
int off,
int len)
オフセット off の位置から開始して、指定されたバイト配列から len バイトをこのファイルに書き込みます。 |
void |
write(int b)
このファイルに指定されたバイトを書き込みます。 |
void |
writeBoolean(boolean v)
1 バイト値として boolean をファイルに書き込みます。 |
void |
writeByte(int v)
byte を 1 バイト値としてこのファイルに書き込みます。 |
void |
writeBytes(java.lang.String s)
文字列をバイトのシーケンスとしてファイルに書き込みます。 |
void |
writeChar(int v)
char を 2 バイト値として、高位バイトを先にファイルに書き込みます。 |
void |
writeChars(java.lang.String s)
文字列を文字のシーケンスとしてファイルに書き込みます。 |
void |
writeDouble(double v)
Double クラスの doubleToLongBits メソッドを使って、double 引数を long に変換します。 |
void |
writeFloat(float v)
Float クラスの floatToIntBits メソッドを使って、float 引数を int に変換します。 |
void |
writeInt(int v)
int を 4 バイトとして、高位バイトを先にファイルに書き込みます。 |
void |
writeLong(long v)
long を 8 バイトとして、高位バイトを先にファイルに書き込みます。 |
void |
writeShort(int v)
short を 2 バイト値として、高位バイトを先にファイルに書き込みます。 |
void |
writeUTF(java.lang.String str)
UTF-8 エンコーディングを使って、マシンに依存するやり方で文字列をファイルに書き込みます。 |
| メソッドの詳細 |
|---|
void close()
throws java.io.IOException
java.io.IOException - I/O エラーが発生した場合
long length()
throws java.io.IOException
java.io.IOException - I/O エラーが発生した場合
long getFilePointer()
throws java.io.IOException
java.io.IOException - I/O エラーが発生した場合
int read()
throws java.io.IOException
0x00-0x0ff) の範囲の整数として返されます。入力がまだ利用できない場合、このメソッドはブロックされます。
JNLPRandomAccessFile は、InputStream のサブクラスではありませんが、このメソッドは InputStream の read メソッドとまったく同様に動作します。
-1
java.io.IOException - I/O エラーが発生した場合。end-of-file に到達した場合はスローされない
int read(byte[] b,
int off,
int len)
throws java.io.IOException
len バイトのデータをバイトの配列の中に読み取ります。このメソッドは、少なくとも 1 バイトの入力を利用できるまでブロックされます。
JNLPRandomAccessFile は、InputStream のサブクラスではありませんが、このメソッドは InputStream の read(byte[], int, int) メソッドまったく同様に動作します。
b - データが読み取られるバッファoff - データの開始オフセットlen - 読み取られたバイトの最大数
-1
java.io.IOException - I/O エラーが発生した場合
int read(byte[] b)
throws java.io.IOException
b.length バイトのデータをバイトの配列の中に読み取ります。このメソッドは、少なくとも 1 バイトの入力を利用できるまでブロックされます。
JNLPRandomAccessFile は、InputStream のサブクラスではありませんが、このメソッドは InputStream の read(byte[]) メソッドとまったく同様に動作します。
b - データが読み取られるバッファ
-1
java.io.IOException - I/O エラーが発生した場合
void readFully(byte[] b)
throws java.io.IOException
b.length バイトをこのファイルからバイト配列の中に読み取ります。このメソッドは、要求されたバイト数が読み取られるまでファイルから繰り返し読み取ります。このメソッドは、要求されたバイト数が読み取られるまで、ストリームの終わりが検出されるまで、または例外がスローされるまでブロックされます。
java.io.DataInput 内の readFullyb - データが読み取られるバッファ
EOFException - すべてのバイトを読み取る前に、このファイルの終わりに到達した場合
java.io.IOException - I/O エラーが発生した場合
void readFully(byte[] b,
int off,
int len)
throws java.io.IOException
len バイトをこのファイルからバイト配列の中に読み取ります。このメソッドは、要求されたバイト数が読み取られるまでファイルから繰り返し読み取ります。このメソッドは、要求されたバイト数が読み取られるまで、ストリームの終わりが検出されるまで、または例外がスローされるまでブロックされます。
java.io.DataInput 内の readFullyb - データが読み取られるバッファoff - データの開始オフセットlen - 読み取るバイト数
EOFException - すべてのバイトを読み取る前に、このファイルの終わりに到達した場合
java.io.IOException - I/O エラーが発生した場合
int skipBytes(int n)
throws java.io.IOException
n バイトをスキップして、スキップしたバイトを破棄しようとします。
このメソッドは、一部の少数のバイト (0 バイトも可能) をスキップできます。このスキップは複数の条件に起因する可能性がありますが、考えられる唯一の場合は、n バイトがスキップされる前にファイルの終わりに達した場合です。このメソッドは、EOFException をスローすることはありません。スキップされた実際のバイト数が返されます。n が負の場合、バイトはスキップされません。
java.io.DataInput 内の skipBytesn - スキップされるバイト数
java.io.IOException - I/O エラーが発生した場合
boolean readBoolean()
throws java.io.IOException
boolean を読み取ります。このメソッドは、現在のファイルポインタから開始して、単一バイトをファイルから読み取ります。0 の値は false を表します。ほかの値は true を表します。このメソッドは、バイトが読み取られるまで、ストリームの最後が検出されるまで、または例外がスローされるまでブロックされます。
java.io.DataInput 内の readBooleanboolean 値
EOFException - このファイルの終わりに到達した場合
java.io.IOException - I/O エラーが発生した場合
byte readByte()
throws java.io.IOException
b であり、0 <= b <= 255 の場合、結果は次のとおりです。(byte)(b)
このメソッドは、バイトが読み取られるまで、ストリームの最後が検出されるまで、または例外がスローされるまでブロックされます。
java.io.DataInput 内の readBytebyte として解釈されるこのファイルの次のバイト
EOFException - このファイルの終わりに到達した場合
java.io.IOException - I/O エラーが発生した場合
int readUnsignedByte()
throws java.io.IOException
このメソッドは、バイトが読み取られるまで、ストリームの最後が検出されるまで、または例外がスローされるまでブロックされます。
java.io.DataInput 内の readUnsignedByteEOFException - このファイルの終わりに到達した場合
java.io.IOException - I/O エラーが発生した場合
short readShort()
throws java.io.IOException
b1 と b2 であり、2 つの値がそれぞれ 0 以上 255 以下の場合、結果は次のとおりです。(short)((b1 << 8) | b2)
このメソッドは、2 バイトが読み取られるまで、ストリームの最後が検出されるまで、または例外がスローされるまでブロックされます。
java.io.DataInput 内の readShortEOFException - 2 バイトを読み取る前に、このファイルの終わりに到達した場合
java.io.IOException - I/O エラーが発生した場合
int readUnsignedShort()
throws java.io.IOException
b1 と b2 であり、0 <= b1, b2 <= 255 の場合、結果は次のとおりです。(b1 << 8) | b2
このメソッドは、2 バイトが読み取られるまで、ストリームの最後が検出されるまで、または例外がスローされるまでブロックされます。
java.io.DataInput 内の readUnsignedShortEOFException - 2 バイトを読み取る前に、このファイルの終わりに到達した場合
java.io.IOException - I/O エラーが発生した場合
char readChar()
throws java.io.IOException
b1 と b2 であり、0 <= b1, b2 <= 255 の場合、結果は次のとおりです。(char)((b1 << 8) | b2)
このメソッドは、2 バイトが読み取られるまで、ストリームの最後が検出されるまで、または例外がスローされるまでブロックされます。
java.io.DataInput 内の readCharEOFException - 2 バイトを読み取る前に、このファイルの終わりに到達した場合
java.io.IOException - I/O エラーが発生した場合
int readInt()
throws java.io.IOException
b1、b2、b3、および b4 であり、0 <= b1, b2, b3, b4 <= 255 の場合、結果は次のとおりです。(b1 << 24) | (b2 << 16) + (b3 << 8) + b4
このメソッドは、4 バイトが読み取られるまで、ストリームの最後が検出されるまで、または例外がスローされるまでブロックされます。
java.io.DataInput 内の readIntint として解釈されるこのファイルの次の 4 バイト
EOFException - 4 バイトを読み取る前に、このファイルの終わりに到達した場合
java.io.IOException - I/O エラーが発生した場合
long readLong()
throws java.io.IOException
b1、b2、b3、b4、b5、b6、b7、および b8 であり、次の条件の場合、0 <= b1, b2, b3, b4, b5, b6, b7, b8 <=255,
結果は次のとおりです。
((long)b1 << 56) + ((long)b2 << 48) + ((long)b3 << 40) + ((long)b4 << 32) + ((long)b5 << 24) + ((long)b6 << 16) + ((long)b7 << 8) + b8
このメソッドは、8 バイトが読み取られるまで、ストリームの最後が検出されるまで、または例外がスローされるまでブロックされます。
java.io.DataInput 内の readLonglong として解釈されるこのファイルの次の 8 バイト
EOFException - 8 バイトを読み取る前に、このファイルの終わりに到達した場合
java.io.IOException - I/O エラーが発生した場合
float readFloat()
throws java.io.IOException
float を読み取ります。このメソッドは、現在のファイルポインタから開始して、readInt メソッドを使った場合のようにファイルから int 値を読み取り、読み取った int を Float クラスの intBitsToFloat メソッドを使って float にします。
このメソッドは、4 バイトが読み取られるまで、ストリームの最後が検出されるまで、または例外がスローされるまでブロックされます。
java.io.DataInput 内の readFloatfloat として解釈されるこのファイルの次の 4 バイト
EOFException - 4 バイトを読み取る前に、このファイルの終わりに到達した場合
java.io.IOException - I/O エラーが発生した場合readInt()
double readDouble()
throws java.io.IOException
double を読み取ります。このメソッドは、現在のファイルポインタから開始して、readLong メソッドを使った場合のようにファイルから long 値を読み取り、読み取った long を Double クラスの longBitsToDouble メソッドを使って double に変換します。
このメソッドは、8 バイトが読み取られるまで、ストリームの最後が検出されるまで、または例外がスローされるまでブロックされます。
java.io.DataInput 内の readDoubledouble として解釈されるこのファイルの次の 8 バイト
EOFException - 8 バイトを読み取る前に、このファイルの終わりに到達した場合
java.io.IOException - I/O エラーが発生した場合readLong()
java.lang.String readLine()
throws java.io.IOException
テキストの行は、キャリッジリターン文字 ('\r')、改行文字 ('\n')、キャリッジリターン文字の直後に続く改行文字、またはファイルの終わりで終了します。行末文字は破棄され、返された文字列の部分に含まれません。
このメソッドは、改行文字が読み取られるまで、キャリッジリターンとそれに続くバイトが読み取られるまで (改行かどうかを判定するため)、ファイルの終わりに達するまで、または例外がスローされるまでブロックされます。
java.io.DataInput 内の readLinejava.io.IOException - I/O エラーが発生した場合
java.lang.String readUTF()
throws java.io.IOException
現在のファイルポインタから開始して、readUnsignedShort を使用した場合のように最初の 2 バイトを読み取ります。この値は、結果の文字列の長さではなく、エンコードされた文字列にある後続のバイト数を提供します。後続のバイトは、UTF-8 形式のバイトエンコーディング文字として解釈され、文字に変換されます。
このメソッドは、すべてのバイトが読み取られるまで、ストリームの最後が検出されるまで、または例外がスローされるまでブロックされます。
java.io.DataInput 内の readUTFEOFException - すべてのバイトを読み取る前に、このファイルの終わりに到達した場合
java.io.IOException - I/O エラーが発生した場合
UTFDataFormatException - バイトが Unicode 文字列の有効な UTF-8 エンコーディングを表さない場合readUnsignedShort()
void seek(long pos)
throws java.io.IOException
pos - ファイルの先頭から測定された、ファイルポインタが設定されるオフセット位置 (バイト単位)
java.io.IOException - pos が 0 未満の場合、または I/O エラーが発生した場合
void setLength(long newLength)
throws java.io.IOException
length メソッドにより返されたファイルの現在の長さが、newLength 引数よりも大きい場合、ファイルは切り捨てられます。この場合、getFilePointer メソッドにより返されたファイルオフセットが newLength よりも大きい場合、このメソッドが返したあとのオフセットは newLength と同じになります。
length により返されたファイルの現在の長さが newLength 引数よりも小さい場合、ファイルは拡張されます。この場合、ファイルの拡張部分の内容は定義されていません。
newLength - ファイルの必要な長さ
java.io.IOException - I/O エラーが発生した場合
void write(int b)
throws java.io.IOException
java.io.DataOutput 内の writeb - 書き込まれる byte
java.io.IOException - I/O エラーが発生した場合
void write(byte[] b)
throws java.io.IOException
b.length バイトをこのファイルに書き込みます。
java.io.DataOutput 内の writeb - データ
java.io.IOException - I/O エラーが発生した場合
void write(byte[] b,
int off,
int len)
throws java.io.IOException
off の位置から開始して、指定されたバイト配列から len バイトをこのファイルに書き込みます。
java.io.DataOutput 内の writeb - データoff - データの開始オフセットlen - 書き込むバイト数
java.io.IOException - I/O エラーが発生した場合
void writeBoolean(boolean v)
throws java.io.IOException
boolean をファイルに書き込みます。値 true は、値 (byte)1 として書き込まれ、値 false は値 (byte)0 として書き込まれます。書き込みは、ファイルポインタの現在の位置で始まります。
java.io.DataOutput 内の writeBooleanv - 書き込まれる boolean 値
java.io.IOException - I/O エラーが発生した場合
void writeByte(int v)
throws java.io.IOException
byte を 1 バイト値としてこのファイルに書き込みます。書き込みは、ファイルポインタの現在の位置で始まります。
java.io.DataOutput 内の writeBytev - 書き込まれる byte 値
java.io.IOException - I/O エラーが発生した場合
void writeShort(int v)
throws java.io.IOException
short を 2 バイト値として、高位バイトを先にファイルに書き込みます。書き込みは、ファイルポインタの現在の位置で始まります。
java.io.DataOutput 内の writeShortv - 書き込まれる short
java.io.IOException - I/O エラーが発生した場合
void writeChar(int v)
throws java.io.IOException
char を 2 バイト値として、高位バイトを先にファイルに書き込みます。書き込みは、ファイルポインタの現在の位置で始まります。
java.io.DataOutput 内の writeCharv - 書き込まれる char 値
java.io.IOException - I/O エラーが発生した場合
void writeInt(int v)
throws java.io.IOException
int を 4 バイトとして、高位バイトを先にファイルに書き込みます。書き込みは、ファイルポインタの現在の位置で始まります。
java.io.DataOutput 内の writeIntv - 書き込まれる int
java.io.IOException - I/O エラーが発生した場合
void writeLong(long v)
throws java.io.IOException
long を 8 バイトとして、高位バイトを先にファイルに書き込みます。書き込みは、ファイルポインタの現在の位置で始まります。
java.io.DataOutput 内の writeLongv - 書き込まれる long
java.io.IOException - I/O エラーが発生した場合
void writeFloat(float v)
throws java.io.IOException
Float クラスの floatToIntBits メソッドを使って、float 引数を int に変換します。次に、変換された int 値を 4 バイトの量として、高位バイトを先にファイルに書き込みます。書き込みは、ファイルポインタの現在の位置で始まります。
java.io.DataOutput 内の writeFloatv - 書き込まれる float 値
java.io.IOException - I/O エラーが発生した場合
void writeDouble(double v)
throws java.io.IOException
Double クラスの doubleToLongBits メソッドを使って、double 引数を long に変換します。次に、変換された long 値を 8 バイトの量として、高位バイトを先にファイルに書き込みます。書き込みは、ファイルポインタの現在の位置で始まります。
java.io.DataOutput 内の writeDoublev - 書き込まれる double 値
java.io.IOException - I/O エラーが発生した場合
void writeBytes(java.lang.String s)
throws java.io.IOException
java.io.DataOutput 内の writeBytess - 書き込まれるバイトの文字列
java.io.IOException - I/O エラーが発生した場合
void writeChars(java.lang.String s)
throws java.io.IOException
writeChar メソッドを使用した場合のように、データ出力ストリームに書き込まれます。書き込みは、ファイルポインタの現在の位置で始まります。
java.io.DataOutput 内の writeCharss - 書き込まれる String 値
java.io.IOException - I/O エラーが発生した場合writeChar(int)
void writeUTF(java.lang.String str)
throws java.io.IOException
まず、現在のファイルポインタから開始して、後続のバイト数を指定する writeShort メソッドを使った場合のように、2 バイトがファイルに書き込まれます。この値は、実際に書き込まれるバイト数であり、文字列の長さではありません。長さに続いて、各文字に UTF-8 エンコーディングを使って、文字列の各文字が順に出力されます。
java.io.DataOutput 内の writeUTFstr - 書き込まれる文字列
java.io.IOException - I/O エラーが発生した場合
|
|||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||