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
- データの読込み先のバッファ。java.io.EOFException
- すべてのバイトを読み込む前に、このファイルの終わりに達した場合。java.io.IOException
- 入出力エラーが発生した場合。void readFully(byte[] b, int off, int len) throws java.io.IOException
len
バイトを正確にこのファイルからバイト配列に読み込みます。このメソッドは、要求されたバイト数が読み取られるまでファイルから繰返し読み取ります。このメソッドは、要求されたバイト数が読み取られるまで、ストリームの終わりが検出されるまで、または例外がスローされるまでブロックされます。readFully
、インタフェース: java.io.DataInput
b
- データの読込み先のバッファ。off
- データの開始オフセット。len
- 読み込むバイト数。java.io.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
の値。java.io.EOFException
- このファイルの終わりに達した場合。java.io.IOException
- 入出力エラーが発生した場合。byte readByte() throws java.io.IOException
b
であり、0 <= b <= 255
の場合、結果は次のとおりです。
(byte)(b)
このメソッドは、バイトを読込み終わるか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。
readByte
、インタフェース: java.io.DataInput
byte
として解釈される、このファイルの次のバイト。java.io.EOFException
- このファイルの終わりに達した場合。java.io.IOException
- 入出力エラーが発生した場合。int readUnsignedByte() throws java.io.IOException
このメソッドは、バイトを読込み終わるか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。
readUnsignedByte
、インタフェース: java.io.DataInput
java.io.EOFException
- このファイルの終わりに達した場合。java.io.IOException
- 入出力エラーが発生した場合。short readShort() throws java.io.IOException
b1
とb2
であり、2つの値がそれぞれ0
以上255
以下の場合、結果は次のとおりです。
(short)((b1 << 8) | b2)
このメソッドは、2バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。
readShort
、インタフェース: java.io.DataInput
java.io.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
java.io.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
java.io.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バイト。java.io.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バイト。java.io.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バイト。java.io.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バイト。java.io.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
java.io.EOFException
- すべてのバイトを読み込む前に、このファイルの終わりに達した場合。java.io.IOException
- 入出力エラーが発生した場合。java.io.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, 2020, Oracle and/or its affiliates. All rights reserved.