public interface JNLPRandomAccessFile
extends java.io.DataInput, java.io.DataOutput
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)
boolean を 1 バイト値としてこのファイルに書き込みます。 |
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 型に変換してから、その long 値を 8 バイト値として上位バイトから先にファイルに書き込みます。 |
void |
writeFloat(float v)
Float クラスの floatToIntBits メソッドを使って float 型の引数を int 型に変換してから、その int 値を 4 バイト値として上位バイトから先にファイルに書き込みます。 |
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
- 入出力エラーが発生した場合。long length() throws java.io.IOException
java.io.IOException
- 入出力エラーが発生した場合。long getFilePointer() throws java.io.IOException
java.io.IOException
- 入出力エラーが発生した場合。int read() throws java.io.IOException
0x00-0x0ff
) の範囲の整数として返されます。入力がまだ利用できない場合、このメソッドはブロックされます。
JNLPRandomAccessFile
は InputStream
のサブクラスではありませんが、このメソッドは InputStream
の read メソッドとまったく同様に動作します。
-1
。java.io.IOException
- 入出力エラーが発生した場合。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
- 入出力エラーが発生した場合。int read(byte[] b) throws java.io.IOException
b.length
バイトのデータを、このファイルからバイト配列に読み込みます。このメソッドは、少なくとも 1 バイトの入力を利用できるまでブロックされます。
JNLPRandomAccessFile
は InputStream
のサブクラスではありませんが、このメソッドは InputStream
の read(byte[]) メソッドとまったく同様に動作します。
b
- データの読み込み先のバッファー。-1
。java.io.IOException
- 入出力エラーが発生した場合。void readFully(byte[] b) throws java.io.IOException
b.length
バイトをこのファイルからバイト配列に読み込みます。このメソッドは、要求されたバイト数が読み取られるまでファイルから繰り返し読み取ります。このメソッドは、要求されたバイト数が読み取られるまで、ストリームの終わりが検出されるまで、または例外がスローされるまでブロックされます。readFully
、インタフェース: java.io.DataInput
b
- データの読み込み先のバッファー。EOFException
- すべてのバイトを読み込む前に、このファイルの終わりに達した場合。java.io.IOException
- 入出力エラーが発生した場合。void readFully(byte[] b, int off, int len) throws java.io.IOException
len
バイトを正確にこのファイルからバイト配列に読み込みます。このメソッドは、要求されたバイト数が読み取られるまでファイルから繰り返し読み取ります。このメソッドは、要求されたバイト数が読み取られるまで、ストリームの終わりが検出されるまで、または例外がスローされるまでブロックされます。readFully
、インタフェース: java.io.DataInput
b
- データの読み込み先のバッファー。off
- データの開始オフセット。len
- 読み込むバイト数。EOFException
- すべてのバイトを読み込む前に、このファイルの終わりに達した場合。java.io.IOException
- 入出力エラーが発生した場合。int skipBytes(int n) throws java.io.IOException
n
バイトの入力をスキップして、スキップしたバイトを破棄しようとします。
このメソッドは、一部の少数のバイト (0 バイトも可能) をスキップできます。このスキップは複数の条件に起因する可能性がありますが、考えられる唯一の場合は、n
バイトがスキップされる前にファイルの終わりに達した場合です。このメソッドは、EOFException
をスローすることはありません。スキップされた実際のバイト数が返されます。n
が負の場合、バイトはスキップされません。
skipBytes
、インタフェース: java.io.DataInput
n
- スキップされるバイト数。java.io.IOException
- 入出力エラーが発生した場合。boolean readBoolean() throws java.io.IOException
boolean
を読み込みます。このメソッドは、現在のファイルポインタから開始して、単一バイトをファイルから読み取ります。値 0
は false
を表します。ほかの値はすべて true
を表します。このメソッドは、バイトを読み込み終わるか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。readBoolean
、インタフェース: java.io.DataInput
boolean
の値。EOFException
- このファイルの終わりに達した場合。java.io.IOException
- 入出力エラーが発生した場合。byte readByte() throws java.io.IOException
b
であり、0 <= b <= 255
の場合、結果は次のとおりです。
(byte)(b)
このメソッドは、バイトを読み込み終わるか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。
readByte
、インタフェース: java.io.DataInput
byte
として解釈される、このファイルの次のバイト。EOFException
- このファイルの終わりに達した場合。java.io.IOException
- 入出力エラーが発生した場合。int readUnsignedByte() throws java.io.IOException
このメソッドは、バイトを読み込み終わるか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。
readUnsignedByte
、インタフェース: java.io.DataInput
EOFException
- このファイルの終わりに達した場合。java.io.IOException
- 入出力エラーが発生した場合。short readShort() throws java.io.IOException
b1
と b2
であり、2 つの値がそれぞれ 0
以上 255
以下の場合、結果は次のとおりです。
(short)((b1 << 8) | b2)
このメソッドは、2 バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。
readShort
、インタフェース: java.io.DataInput
EOFException
- 2 バイトを読み込む前に、このファイルの終わりに達した場合。java.io.IOException
- 入出力エラーが発生した場合。int readUnsignedShort() throws java.io.IOException
b1
と b2
であり、0 <= b1, b2 <= 255
の場合、結果は次のとおりです。
(b1 << 8) | b2
このメソッドは、2 バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。
readUnsignedShort
、インタフェース: java.io.DataInput
EOFException
- 2 バイトを読み込む前に、このファイルの終わりに達した場合。java.io.IOException
- 入出力エラーが発生した場合。char readChar() throws java.io.IOException
b1
と b2
であり、0 <= b1, b2 <= 255
の場合、結果は次のとおりです。
(char)((b1 << 8) | b2)
このメソッドは、2 バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。
readChar
、インタフェース: java.io.DataInput
EOFException
- 2 バイトを読み込む前に、このファイルの終わりに達した場合。java.io.IOException
- 入出力エラーが発生した場合。int readInt() throws java.io.IOException
b1
、b2
、b3
、および b4
であり、0 <= b1, b2, b3, b4 <= 255
の場合、結果は次のとおりです。
(b1 << 24) | (b2 << 16) + (b3 << 8) + b4
このメソッドは、4 バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。
readInt
、インタフェース: java.io.DataInput
int
として解釈される、このファイルの次の 4 バイト。EOFException
- 4 バイトを読み込む前に、このファイルの終わりに達した場合。java.io.IOException
- 入出力エラーが発生した場合。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 バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。
readLong
、インタフェース: java.io.DataInput
long
として解釈される、このファイルの次の 8 バイト。EOFException
- 8 バイトを読み込む前に、このファイルの終わりに達した場合。java.io.IOException
- 入出力エラーが発生した場合。float readFloat() throws java.io.IOException
float
を読み込みます。このメソッドは、現在のファイルポインタから開始して、readInt
メソッドを使った場合のようにファイルから int
値を読み取り、読み取った int
を Float
クラスの intBitsToFloat
メソッドを使って float
にします。
このメソッドは、4 バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。
readFloat
、インタフェース: java.io.DataInput
float
として解釈される、このファイルの次の 4 バイト。EOFException
- 4 バイトを読み込む前に、このファイルの終わりに達した場合。java.io.IOException
- 入出力エラーが発生した場合。readInt()
double readDouble() throws java.io.IOException
double
を読み込みます。このメソッドは、現在のファイルポインタから開始して、readLong
メソッドを使った場合のようにファイルから long
値を読み取り、読み取った long
を Double
クラスの longBitsToDouble
メソッドを使って double
にします。
このメソッドは、8 バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。
readDouble
、インタフェース: java.io.DataInput
double
として解釈される、このファイルの次の 8 バイト。EOFException
- 8 バイトを読み込む前に、このファイルの終わりに達した場合。java.io.IOException
- 入出力エラーが発生した場合。readLong()
java.lang.String readLine() throws java.io.IOException
テキスト行は、キャリッジリターン文字 ('\r'
)、改行文字 ('\n'
)、キャリッジリターン文字とそれに続く改行文字、またはファイルの終わりで終了します。行末文字は破棄され、返された文字列の部分に含まれません。
このメソッドは、改行文字が読み込まれるまで、復帰とそれに続くバイトが読み込まれる (改行かどうかを確認する) まで、ファイルの終わりに達するまで、または例外がスローされるまでブロックします。
readLine
、インタフェース: java.io.DataInput
java.io.IOException
- 入出力エラーが発生した場合。java.lang.String readUTF() throws java.io.IOException
現在のファイルポインタから開始して、readUnsignedShort
を使用した場合のように最初の 2 バイトを読み取ります。この値は、結果として得られる文字列の長さではなく、エンコードされた文字列にある後続のバイト数を提供します。後続のバイトは、UTF-8 形式のバイトエンコーディング文字として解釈され、文字に変換されます。
このメソッドは、すべてのバイトを読み込み終わるか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。
readUTF
、インタフェース: java.io.DataInput
EOFException
- すべてのバイトを読み込む前に、このファイルの終わりに達した場合。java.io.IOException
- 入出力エラーが発生した場合。UTFDataFormatException
- バイトが有効な UTF-8 の Unicode 文字列を表さない場合。readUnsignedShort()
void seek(long pos) throws java.io.IOException
pos
- ファイルの先頭を始点とした、バイト単位のオフセット位置。この位置にファイルポインタが設定される。java.io.IOException
- pos
が 0
より小さい場合、あるいは入出力エラーが発生した場合。void setLength(long newLength) throws java.io.IOException
length
メソッドにより返されたファイルの現在の長さが、newLength
引数よりも大きい場合、ファイルは切り詰められます。この場合、getFilePointer
メソッドにより返されたファイルオフセットが newLength
よりも大きい場合、このメソッドが返したあとのオフセットは newLength
と同じになります。
length
により返されたファイルの現在の長さが newLength
引数よりも小さい場合、ファイルは拡張されます。この場合、ファイルの拡張部分の内容は定義されていません。
newLength
- ファイルの必要な長さjava.io.IOException
- 入出力エラーが発生した場合void write(int b) throws java.io.IOException
write
、インタフェース: java.io.DataOutput
b
- 書き込まれる byte
。java.io.IOException
- 入出力エラーが発生した場合。void write(byte[] b) throws java.io.IOException
b.length
バイトを書き込みます。write
、インタフェース: java.io.DataOutput
b
- データ。java.io.IOException
- 入出力エラーが発生した場合。void write(byte[] b, int off, int len) throws java.io.IOException
off
から始まる len
バイトをこのファイルに書き込みます。write
、インタフェース: java.io.DataOutput
b
- データ。off
- データの開始オフセット。len
- 書き込むバイト数。java.io.IOException
- 入出力エラーが発生した場合。void writeBoolean(boolean v) throws java.io.IOException
boolean
を 1 バイト値としてこのファイルに書き込みます。値 true
は値 (byte)1
として書き込まれ、値 false
は値 (byte)0
として書き込まれます。書き込みは、ファイルポインタの現在の位置で始まります。writeBoolean
、インタフェース: java.io.DataOutput
v
- 書き込まれる boolean
値。java.io.IOException
- 入出力エラーが発生した場合。void writeByte(int v) throws java.io.IOException
byte
を 1 バイト値としてこのファイルに書き込みます。書き込みは、ファイルポインタの現在の位置で始まります。writeByte
、インタフェース: java.io.DataOutput
v
- 書き込まれる byte
値。java.io.IOException
- 入出力エラーが発生した場合。void writeShort(int v) throws java.io.IOException
short
を 2 バイト値として上位バイトから先にファイルに書き込みます。書き込みは、ファイルポインタの現在の位置で始まります。writeShort
、インタフェース: java.io.DataOutput
v
- 書き込まれる short
値。java.io.IOException
- 入出力エラーが発生した場合。void writeChar(int v) throws java.io.IOException
char
を 2 バイト値として上位バイトから先にファイルに書き込みます。書き込みは、ファイルポインタの現在の位置で始まります。writeChar
、インタフェース: java.io.DataOutput
v
- 書き込まれる char
値。java.io.IOException
- 入出力エラーが発生した場合。void writeInt(int v) throws java.io.IOException
int
を 4 バイト値として上位バイトから先にファイルに書き込みます。書き込みは、ファイルポインタの現在の位置で始まります。writeInt
、インタフェース: java.io.DataOutput
v
- 書き込まれる int
値。java.io.IOException
- 入出力エラーが発生した場合。void writeLong(long v) throws java.io.IOException
long
を 8 バイト値として上位バイトから先にファイルに書き込みます。書き込みは、ファイルポインタの現在の位置で始まります。writeLong
、インタフェース: java.io.DataOutput
v
- 書き込まれる long
値。java.io.IOException
- 入出力エラーが発生した場合。void writeFloat(float v) throws java.io.IOException
Float
クラスの floatToIntBits
メソッドを使って float 型の引数を int
型に変換してから、その int
値を 4 バイト値として上位バイトから先にファイルに書き込みます。書き込みは、ファイルポインタの現在の位置で始まります。writeFloat
、インタフェース: java.io.DataOutput
v
- 書き込まれる float
値。java.io.IOException
- 入出力エラーが発生した場合。void writeDouble(double v) throws java.io.IOException
Double
クラスの doubleToLongBits
メソッドを使って double 型の引数を long
型に変換してから、その long
値を 8 バイト値として上位バイトから先にファイルに書き込みます。書き込みは、ファイルポインタの現在の位置で始まります。writeDouble
、インタフェース: java.io.DataOutput
v
- 書き込まれる double
値。java.io.IOException
- 入出力エラーが発生した場合。void writeBytes(java.lang.String s) throws java.io.IOException
writeBytes
、インタフェース: java.io.DataOutput
s
- 書き込まれるバイトの文字列。java.io.IOException
- 入出力エラーが発生した場合。void writeChars(java.lang.String s) throws java.io.IOException
writeChar
メソッドを使用した場合のように、データ出力ストリームに書き込まれます。書き込みは、ファイルポインタの現在の位置で始まります。writeChars
、インタフェース: java.io.DataOutput
s
- 書き込まれる String
値。java.io.IOException
- 入出力エラーが発生した場合。writeChar(int)
void writeUTF(java.lang.String str) throws java.io.IOException
まず、現在のファイルポインタから開始して、後続のバイト数を指定する writeShort
メソッドを使った場合のように、2 バイトがファイルに書き込まれます。この値は、実際に書き込まれるバイト数であり、文字列の長さではありません。長さに続いて、各文字に UTF-8 エンコーディングを使って、文字列の各文字が順に出力されます。
writeUTF
、インタフェース: java.io.DataOutput
str
- 書き込まれる文字列。java.io.IOException
- 入出力エラーが発生した場合。Copyright © 1998, 2013, Oracle and/or its affiliates. All rights reserved.