- java.lang.Object
-
- java.io.RandomAccessFile
-
- すべての実装されたインタフェース:
Closeable
,DataInput
,DataOutput
,AutoCloseable
public class RandomAccessFile extends Object implements DataOutput, DataInput, Closeable
このクラスのインスタンスは、ランダム・アクセス・ファイルに対する読取りと書込みの両方をサポートします。 ランダム・アクセス・ファイルの動作は、ファイル・システムに格納された大規模なバイト配列の動作に似ています。 また、ファイル・ポインタと呼ばれるある種のカーソル、つまり暗示配列内へのインデックスがあり、入力操作ではファイル・ポインタの位置でバイトの読取りを開始し、読み取ったバイトを越えてファイル・ポインタを進めます。 ランダム・アクセス・ファイルが読み取り/書込みモードで生成された場合、出力操作も利用可能になります。出力操作では、ファイル・ポインタの位置でバイトの書込みを開始し、書き込まれたバイトを越えてファイル・ポインタを進めます。 現在の暗黙の配列の終わりを越える出力操作では、配列の拡張が発生します。 ファイル・ポインタはgetFilePointer
メソッドにより読み取ることができ、seek
メソッドにより設定できます。必要なバイト数を読み取る前にend-of-fileに到達した場合、
IOException
の一種であるEOFException
がスローされますが、このことはこのクラスのすべての読取りルーチンに当てはまります。 end-of-file以外のなんらかの理由によりバイトを読み取ることができない場合、EOFException
以外のIOException
がスローされます。 特に、ストリームが閉じられた場合は、IOException
がスローされる可能性があります。- 導入されたバージョン:
- 1.0
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 RandomAccessFile(File file, String mode)
File
引数で指定されたファイルからの読み込み、およびオプションで書込みを行うためのランダム・アクセス・ファイル・ストリームを作成します。RandomAccessFile(String name, String mode)
指定された名前のファイルからの読み込み、およびオプションで書込みを行うためのランダム・アクセス・ファイル・ストリームを作成します。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 void
close()
このランダム・アクセス・ファイル・ストリームを閉じて、ストリームに関連付けられているシステム・リソースを解放します。FileChannel
getChannel()
このファイルに関連付けられた一意のFileChannel
オブジェクトを返します。FileDescriptor
getFD()
このストリームに関連する不透明なファイル記述子を返します。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()
このファイルから文字を読み取ります。double
readDouble()
このファイルからdouble
を読み込みます。float
readFloat()
このファイルからfloat
を読み込みます。void
readFully(byte[] b)
現在のファイル・ポインタ位置から始まるb.length
バイトをこのファイルからバイト配列に読み込みます。void
readFully(byte[] b, int off, int len)
現在のファイル・ポインタ位置から始まるlen
バイトを正確にこのファイルからバイト配列に読み込みます。int
readInt()
このファイルから署名付き32ビット整数文字を読み取ります。String
readLine()
このファイルのテキストの次の行を読み取ります。long
readLong()
このファイルから署名付き64ビット整数文字を読み取ります。short
readShort()
このファイルから署名付き16ビット数を読み取ります。int
readUnsignedByte()
このファイルから符号なし8ビット数を読み取ります。int
readUnsignedShort()
このファイルから符号なし16ビット数を読み取ります。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(String s)
文字列をバイトのシーケンスとしてファイルに書き込みます。void
writeChar(int v)
char
を2バイト値として上位バイトから先にファイルに書き込みます。void
writeChars(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(String str)
修正UTF-8エンコーディングを使って、マシンに依存しない方法で文字列をファイルに書き込みます。
-
-
-
コンストラクタの詳細
-
RandomAccessFile
public RandomAccessFile(String name, String mode) throws FileNotFoundException
指定された名前のファイルからの読み込み、およびオプションで書込みを行うためのランダム・アクセス・ファイル・ストリームを作成します。 ファイルへの接続を表すFileDescriptor
オブジェクトが新しく作成されます。mode
引数には、ファイルを開くときのアクセス・モードを指定します。 指定できる値とそれらの意味は、RandomAccessFile(File,String)
コンストラクタの指定と同じです。セキュリティ・マネージャが存在する場合は、ファイルの読取りアクセスが許可されるかどうかを確認するために、
name
を引数としてcheckRead
メソッドが呼び出されます。 また、書込みを許可するモードの場合は、ファイルへの書込みアクセスが許可されているかどうかを確認するために、name
を引数としてセキュリティ・マネージャのcheckWrite
メソッドが呼び出されます。- パラメータ:
name
- システムに依存するファイル名mode
- アクセス・モード- 例外:
IllegalArgumentException
- mode引数が「r」
、「rw」
、「rws」
、または「rwd」
でない場合FileNotFoundException
- モードが"r"
であるが、指定された文字列が既存の通常ファイルを示さない場合、モードが"rw"
で始まるが、指定された文字列が既存の書込み可能な通常ファイルを示さず、その名前の通常ファイルを新しく作成できない場合、あるいはファイルのオープンまたは作成中にその他のエラーが発生した場合SecurityException
- セキュリティ・マネージャが存在し、そのcheckRead
メソッドがファイルへの読み取りアクセスを拒否した場合、またはそのモードが"rw"
であり、セキュリティ・マネージャのcheckWrite
メソッドがファイルへの書き込みアクセスを拒否した場合- 関連項目:
SecurityException
、SecurityManager.checkRead(java.lang.String)
、SecurityManager.checkWrite(java.lang.String)
-
RandomAccessFile
public RandomAccessFile(File file, String mode) throws FileNotFoundException
File
引数で指定されたファイルからの読み込み、およびオプションで書込みを行うためのランダム・アクセス・ファイル・ストリームを作成します。 このファイル接続を表すために、新しいFileDescriptor
オブジェクトが作成されます。mode
引数には、ファイルを開くときのアクセス・モードを指定します。 指定できる値とその意味を次に示します。値 意味 "r"
読取り専用で開きます。 開いたオブジェクトの任意の write
メソッドを呼び出すと、IOException
がスローされます。"rw"
読み取りおよび書込み用に開きます。 ファイルが存在しない場合は、その作成が試みられます。 "rws"
"rw"
と同様に、読み込みおよび書込み用に開きます。ファイルの内容またはメタデータを更新したときは、ベースとなる記憶装置にも同時に書き込む必要があります。"rwd"
"rw"
と同様に、読み込みおよび書込み用に開きます。ファイルの内容を更新したときは、ベースとなる記憶装置にも同時に適用する必要があります。"rws"
モードおよび"rwd"
モードは、引数としてtrue
およびfalse
をそれぞれ渡して、FileChannel
クラスのforce(boolean)
メソッドのように動作しますが、すべての入出力操作に適用され、多くの場合、より効果的であることが異なります。 ファイルがローカル記憶装置にある場合は、このクラスのメソッドを呼び出したときに、この呼出しによってファイルに適用された変更が、その記憶装置にも常に書き込まれます。 この方法により、システムがクラッシュしたとき、重要な情報を損失から保護できます。 一方、ファイルがローカルの記憶装置上にない場合、書込みは行われません。"rwd"
モードは、実行される入出力処理の数を減らすために使用できます。"rwd"
を使用した場合は、ファイルの内容への更新だけが記憶装置に書き込まれます。"rws"
を使用した場合は、ファイルの内容とメタデータの両方への更新を書き込む必要があります。これには、通常下位レベルの入出力処理が1回以上多く必要となります。セキュリティ・マネージャが存在する場合は、ファイルの読取りアクセスが許可されるかどうかを確認するために、
file
をパス名の引数としてcheckRead
メソッドが呼び出されます。 また、書込みを許可するモードの場合は、ファイルへの書込みアクセスが許可されているかどうかを確認するために、パスを引数としてセキュリティ・マネージャのcheckWrite
メソッドが呼び出されます。- パラメータ:
file
- ファイル・オブジェクトmode
- アクセス・モード。前述の説明を参照- 例外:
IllegalArgumentException
- mode引数が「r」
、「rw」
、「rws」
、または「rwd」
でない場合FileNotFoundException
- モードが"r"
であるが、指定されたファイル・オブジェクトが既存の通常ファイルを示さない場合、モードが"rw"
で始まるが、指定されたファイル・オブジェクトが既存の書込み可能な通常ファイルを示さず、その名前の通常ファイルを新しく作成できない場合、あるいはファイルのオープンまたは作成中にその他のエラーが発生した場合SecurityException
- セキュリティ・マネージャが存在し、そのcheckRead
メソッドがファイルへの読み取りアクセスを拒否した場合、またはそのモードが"rw"
であり、セキュリティ・マネージャのcheckWrite
メソッドがファイルへの書き込みアクセスを拒否した場合- 関連項目:
SecurityManager.checkRead(java.lang.String)
,SecurityManager.checkWrite(java.lang.String)
,FileChannel.force(boolean)
-
-
メソッドの詳細
-
getFD
public final FileDescriptor getFD() throws IOException
このストリームに関連する不透明なファイル記述子を返します。- 戻り値:
- このストリームに関連するファイル記述子オブジェクト。
- 例外:
IOException
- 入出力エラーが発生した場合。- 関連項目:
FileDescriptor
-
getChannel
public final FileChannel getChannel()
このファイルに関連付けられた一意のFileChannel
オブジェクトを返します。返されるチャネルの
position
は常に、getFilePointer
メソッドによって返されるこのオブジェクトのファイル・ポインタ・オフセットと等しくなります。 このオブジェクトのファイル・ポインタ・オフセットを明示的にまたはバイトの読書きによって変更すると、チャネルの位置も変更されます。その逆の場合も同様です。 このオブジェクトを通じてファイルの長さを変更すると、ファイル・チャネルを通じて見える長さも変更されます。その逆の場合も同様です。- 戻り値:
- このファイルと関連付けられているファイル・チャネル
- 導入されたバージョン:
- 1.4
-
read
public int read() throws IOException
このファイルからデータのバイトを読み取ります。 バイトは、0 - 255 (0x00-0x0ff
)の範囲の整数として返されます。 入力がまだ利用できない場合、このメソッドはブロックされます。RandomAccessFile
はInputStream
のサブクラスではありませんが、このメソッドはInputStream
のInputStream.read()
メソッドとまったく同様に動作します。- 戻り値:
- データの次のバイト。ファイルの終わりに達した場合は
-1
。 - 例外:
IOException
- 入出力エラーが発生した場合。 end-of-fileに到達した場合はスローされない。
-
read
public int read(byte[] b, int off, int len) throws IOException
最大len
バイトのデータを、このファイルからバイト配列に読み込みます。 このメソッドは、少なくとも1バイトの入力を利用できるまでブロックされます。RandomAccessFile
はInputStream
のサブクラスではありませんが、このメソッドはInputStream
のInputStream.read(byte[], int, int)
メソッドとまったく同様に動作します。- パラメータ:
b
- データの読込み先のバッファ。off
- データが書き込まれる配列b
の開始オフセット。len
- 読み込まれる最大バイト数。- 戻り値:
- バッファに読み込まれたバイトの合計数。ファイルの終わりに達してデータがない場合は
-1
。 - 例外:
IOException
- ファイルの終わりに達していること以外の理由で最初のバイトを読み込めない場合、ランダム・アクセス・ファイルが閉じられた場合、またはその他の入出力エラーが発生した場合。NullPointerException
-b
がnull
である場合。IndexOutOfBoundsException
-off
が負の値の場合、len
が負の値の場合、あるいはlen
がb.length - off
より大きい場合
-
read
public int read(byte[] b) throws IOException
最大b.length
バイトのデータを、このファイルからバイト配列に読み込みます。 このメソッドは、少なくとも1バイトの入力を利用できるまでブロックされます。RandomAccessFile
はInputStream
のサブクラスではありませんが、このメソッドはInputStream
のInputStream.read(byte[])
メソッドとまったく同様に動作します。- パラメータ:
b
- データの読込み先のバッファ。- 戻り値:
- バッファに読み込まれたバイトの合計数。このファイルの終わりに達してデータがない場合は
-1
。 - 例外:
IOException
- ファイルの終わりに達していること以外の理由で最初のバイトを読み込めない場合、ランダム・アクセス・ファイルが閉じられた場合、またはその他の入出力エラーが発生した場合。NullPointerException
-b
がnull
である場合。
-
readFully
public final void readFully(byte[] b) throws IOException
現在のファイル・ポインタ位置から始まるb.length
バイトをこのファイルからバイト配列に読み込みます。 このメソッドは、要求されたバイト数が読み取られるまでファイルから繰返し読み取ります。 このメソッドは、要求されたバイト数が読み取られるまで、ストリームの終わりが検出されるまで、または例外がスローされるまでブロックされます。- 定義:
readFully
、インタフェースDataInput
- パラメータ:
b
- データの読込み先のバッファ。- 例外:
NullPointerException
-b
がnull
である場合。EOFException
- すべてのバイトを読み込む前に、このファイルの終わりに達した場合。IOException
- 入出力エラーが発生した場合。
-
readFully
public final void readFully(byte[] b, int off, int len) throws IOException
現在のファイル・ポインタ位置から始まるlen
バイトを正確にこのファイルからバイト配列に読み込みます。 このメソッドは、要求されたバイト数が読み取られるまでファイルから繰返し読み取ります。 このメソッドは、要求されたバイト数が読み取られるまで、ストリームの終わりが検出されるまで、または例外がスローされるまでブロックされます。- 定義:
readFully
、インタフェースDataInput
- パラメータ:
b
- データの読込み先のバッファ。off
- データ配列b
への開始オフセット。len
- 読み込むバイト数。- 例外:
NullPointerException
-b
がnull
である場合。IndexOutOfBoundsException
-off
が負の値の場合、len
が負の値の場合、またはlen
がb.length - off
より大きい場合EOFException
- すべてのバイトを読み込む前に、このファイルの終わりに達した場合。IOException
- 入出力エラーが発生した場合。
-
skipBytes
public int skipBytes(int n) throws IOException
n
バイトの入力をスキップして、スキップしたバイトを破棄しようとします。このメソッドは、一部の少数のバイト(0バイトも可能)をスキップできます。 このスキップは複数の条件に起因する可能性がありますが、考えられる唯一の場合は、
n
バイトがスキップされる前にファイルの終わりに達した場合です。 このメソッドは、EOFException
をスローすることはありません。 スキップされた実際のバイト数が返されます。n
が負の場合、バイトはスキップされません。- 定義:
skipBytes
、インタフェースDataInput
- パラメータ:
n
- スキップされるバイト数。- 戻り値:
- 実際にスキップされたバイト数。
- 例外:
IOException
- 入出力エラーが発生した場合。
-
write
public void write(int b) throws IOException
このファイルに指定されたバイトを書き込みます。 書込みは、現在のファイル・ポインタの位置で始まります。- 定義:
write
、インタフェースDataOutput
- パラメータ:
b
- 書き込まれるbyte
。- 例外:
IOException
- 入出力エラーが発生した場合。
-
write
public void write(byte[] b) throws IOException
指定されたバイト配列からこのファイルに、現在のファイル・ポインタ位置から始まるb.length
バイトを書き込みます。- 定義:
write
、インタフェースDataOutput
- パラメータ:
b
- データ。- 例外:
IOException
- 入出力エラーが発生した場合。
-
write
public void write(byte[] b, int off, int len) throws IOException
指定されたバイト配列のオフセット位置off
から始まるlen
バイトをこのファイルに書き込みます。- 定義:
write
、インタフェースDataOutput
- パラメータ:
b
- データ。off
- データの開始オフセット。len
- 書き込むバイト数。- 例外:
IOException
- 入出力エラーが発生した場合。
-
getFilePointer
public long getFilePointer() throws IOException
このファイルの現在のオフセットを返します。- 戻り値:
- ファイルの先頭からのバイト単位のオフセットで、ここから次の読み込みまたは書込みが発生する。
- 例外:
IOException
- 入出力エラーが発生した場合。
-
seek
public void seek(long pos) throws IOException
次の読み取りまたは書込みが発生する、ファイルの先頭から測定したファイル・ポインタ・オフセットを設定します。 オフセットは、ファイルの終わりを越えて設定できます。 ファイルの終わりを越えてオフセットを設定してもファイル長は変わりません。 ファイル長は、ファイルの終わりを越えてオフセットが設定されたあとに書き込まれた場合だけ変わります。- パラメータ:
pos
- ファイルの先頭を始点とした、バイト単位のオフセット位置。この位置にファイル・ポインタが設定される。- 例外:
IOException
-pos
が0
より小さい場合、あるいは入出力エラーが発生した場合。
-
length
public long length() throws IOException
このファイルの長さを返します。- 戻り値:
- バイト単位の、このファイルの長さ。
- 例外:
IOException
- 入出力エラーが発生した場合。
-
setLength
public void setLength(long newLength) throws IOException
このファイルの長さを設定します。length
メソッドにより返されたファイルの現在の長さが、newLength
引数よりも大きい場合、ファイルは切り詰められます。 この場合、getFilePointer
メソッドにより返されたファイル・オフセットがnewLength
よりも大きい場合、このメソッドが返したあとのオフセットはnewLength
と同じになります。length
により返されたファイルの現在の長さがnewLength
引数よりも小さい場合、ファイルは拡張されます。 この場合、ファイルの拡張部分の内容は定義されていません。- パラメータ:
newLength
- ファイルの必要な長さ- 例外:
IOException
- 入出力エラーが発生した場合- 導入されたバージョン:
- 1.2
-
close
public void close() throws IOException
このランダム・アクセス・ファイル・ストリームを閉じて、ストリームに関連付けられているシステム・リソースを解放します。 閉じられたランダム・アクセス・ファイルでは入出力操作を実行できません。このファイルに関連付けられているチャネルがある場合は、そのチャネルも閉じます。
- 定義:
close
、インタフェースAutoCloseable
- 定義:
close
、インタフェースCloseable
- 例外:
IOException
- 入出力エラーが発生した場合。
-
readBoolean
public final boolean readBoolean() throws IOException
このファイルからboolean
を読み込みます。 このメソッドは、現在のファイル・ポインタから開始して、単一バイトをファイルから読み取ります。 値0
はfalse
を表します。 ほかの値はすべてtrue
を表します。 このメソッドは、バイトを読込み終わるか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。- 定義:
readBoolean
、インタフェースDataInput
- 戻り値:
- 読み込まれた
boolean
の値。 - 例外:
EOFException
- このファイルの終わりに達した場合。IOException
- 入出力エラーが発生した場合。
-
readByte
public final byte readByte() throws IOException
このファイルから署名付き8ビット値を読み取ります。 このメソッドは、現在のファイル・ポインタから開始して、ファイルからバイトを読み取ります。 読み取られたバイトがb
であり、0 <= b <= 255
の場合、結果は次のとおりです。(byte)(b)
このメソッドは、バイトを読込み終わるか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。
- 定義:
readByte
、インタフェースDataInput
- 戻り値:
- 符号付き8ビット
byte
として解釈される、このファイルの次のバイト。 - 例外:
EOFException
- このファイルの終わりに達した場合。IOException
- 入出力エラーが発生した場合。
-
readUnsignedByte
public final int readUnsignedByte() throws IOException
このファイルから符号なし8ビット数を読み取ります。 このメソッドは、現在のファイル・ポインタから開始して、ファイルからバイトを読み取ります。このメソッドは、バイトを読込み終わるか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。
- 定義:
readUnsignedByte
、インタフェースDataInput
- 戻り値:
- 符号なしの8ビット数として解釈される、このファイルの次のバイト。
- 例外:
EOFException
- このファイルの終わりに達した場合。IOException
- 入出力エラーが発生した場合。
-
readShort
public final short readShort() throws IOException
このファイルから署名付き16ビット数を読み取ります。 このメソッドは、現在のファイル・ポインタから開始して、ファイルから2バイトを読み取ります。 読み取られた2バイトが順にb1
とb2
であり、2つの値がそれぞれ0
以上255
以下の場合、結果は次のとおりです。(short)((b1 << 8) | b2)
このメソッドは、2バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。
- 定義:
readShort
、インタフェースDataInput
- 戻り値:
- 符号付き16ビット数として解釈される、このファイルの次の2バイト。
- 例外:
EOFException
- 2バイトを読み込む前に、このファイルの終わりに達した場合。IOException
- 入出力エラーが発生した場合。
-
readUnsignedShort
public final int readUnsignedShort() throws IOException
このファイルから符号なし16ビット数を読み取ります。 このメソッドは、現在のファイル・ポインタから開始して、ファイルから2バイトを読み取ります。 読み取られた2バイトが順にb1
とb2
であり、0 <= b1, b2 <= 255
の場合、結果は次のとおりです。(b1 << 8) | b2
このメソッドは、2バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。
- 定義:
readUnsignedShort
、インタフェースDataInput
- 戻り値:
- 符号なし16ビット整数として解釈される、このファイルの次の2バイト。
- 例外:
EOFException
- 2バイトを読み込む前に、このファイルの終わりに達した場合。IOException
- 入出力エラーが発生した場合。
-
readChar
public final char readChar() throws IOException
このファイルから文字を読み取ります。 このメソッドは、現在のファイル・ポインタから開始して、ファイルから2バイトを読み取ります。 読み取られた2バイトが順にb1
とb2
であり、0 <= b1, b2 <= 255
の場合、結果は次のとおりです。(char)((b1 << 8) | b2)
このメソッドは、2バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。
- 定義:
readChar
、インタフェースDataInput
- 戻り値:
char
として解釈される、このファイルの次の2バイト。- 例外:
EOFException
- 2バイトを読み込む前に、このファイルの終わりに達した場合。IOException
- 入出力エラーが発生した場合。
-
readInt
public final int readInt() throws IOException
このファイルから署名付き32ビット整数文字を読み取ります。 このメソッドは、現在のファイル・ポインタから開始して、ファイルから4バイトを読み取ります。 読み取られた2バイトが順にb1
、b2
、b3
、およびb4
であり、0 <= b1, b2, b3, b4 <= 255
の場合、結果は次のとおりです。(b1 << 24) | (b2 << 16) + (b3 << 8) + b4
このメソッドは、4バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。
- 定義:
readInt
、インタフェースDataInput
- 戻り値:
int
として解釈される、このファイルの次の4バイト。- 例外:
EOFException
- 4バイトを読み込む前に、このファイルの終わりに達した場合。IOException
- 入出力エラーが発生した場合。
-
readLong
public final long readLong() throws IOException
このファイルから署名付き64ビット整数文字を読み取ります。 このメソッドは、現在のファイル・ポインタから開始して、ファイルから8バイトを読み取ります。 読み取られたバイトが順に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
、インタフェースDataInput
- 戻り値:
long
として解釈される、このファイルの次の8バイト。- 例外:
EOFException
- 8バイトを読み込む前に、このファイルの終わりに達した場合。IOException
- 入出力エラーが発生した場合。
-
readFloat
public final float readFloat() throws IOException
このファイルからfloat
を読み込みます。 このメソッドは、現在のファイル・ポインタから開始して、readInt
メソッドを使った場合のようにファイルからint
値を読み取り、読み取ったint
をFloat
クラスのintBitsToFloat
メソッドを使ってfloat
にします。このメソッドは、4バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。
- 定義:
readFloat
、インタフェースDataInput
- 戻り値:
float
として解釈される、このファイルの次の4バイト。- 例外:
EOFException
- 4バイトを読み込む前に、このファイルの終わりに達した場合。IOException
- 入出力エラーが発生した場合。- 関連項目:
readInt()
,Float.intBitsToFloat(int)
-
readDouble
public final double readDouble() throws IOException
このファイルからdouble
を読み込みます。 このメソッドは、現在のファイル・ポインタから開始して、readLong
メソッドを使った場合のようにファイルからlong
値を読み取り、読み取ったlong
をDouble
クラスのlongBitsToDouble
メソッドを使ってdouble
にします。このメソッドは、8バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。
- 定義:
readDouble
、インタフェースDataInput
- 戻り値:
double
として解釈される、このファイルの次の8バイト。- 例外:
EOFException
- 8バイトを読み込む前に、このファイルの終わりに達した場合。IOException
- 入出力エラーが発生した場合。- 関連項目:
readLong()
,Double.longBitsToDouble(long)
-
readLine
public final String readLine() throws IOException
このファイルのテキストの次の行を読み取ります。 このメソッドは、現在のファイル・ポインタから開始して、改行またはファイルの終わりに達するまでファイルからバイトを連続的に読み取ります。 各バイトは、文字の下位8ビットのバイト値を取得し、文字の上位8ビットを0に設定して文字に変換されます。 したがって、このメソッドはUnicode文字セット全体をサポートしていません。テキスト行は、復帰文字(
'\r'
)、改行文字('\n'
)、復帰文字とそれに続く改行文字、またはファイルの終わりで終了します。 行末文字は破棄され、返された文字列の部分に含まれません。このメソッドは、改行文字が読み込まれるまで、復帰とそれに続くバイトが読み込まれる(改行かどうかを確認する)まで、ファイルの終わりに達するまで、または例外がスローされるまでブロックします。
- 定義:
readLine
、インタフェースDataInput
- 戻り値:
- このファイルからの次のテキスト行。ファイルの終わりが検出されるまでに1バイトも読み込めなかった場合はnull。
- 例外:
IOException
- 入出力エラーが発生した場合。
-
readUTF
public final String readUTF() throws IOException
このファイルから文字列を読み取ります。 文字列は、修正UTF-8形式を使用してエンコードされています。現在のファイル・ポインタから開始して、
readUnsignedShort
を使用した場合のように最初の2バイトを読み取ります。 この値は、結果として得られる文字列の長さではなく、エンコードされた文字列にある後続のバイト数を提供します。 後続のバイトは、修正UTF-8形式のバイト・エンコーディング文字として解釈され、文字に変換されます。このメソッドは、すべてのバイトを読込み終わるか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。
- 定義:
readUTF
、インタフェースDataInput
- 戻り値:
- Unicode文字列。
- 例外:
EOFException
- すべてのバイトを読み込む前に、このファイルの終わりに達した場合。IOException
- 入出力エラーが発生した場合。UTFDataFormatException
- バイトが有効な修正UTF-8エンコーディングのUnicode文字列を表さない場合。- 関連項目:
readUnsignedShort()
-
writeBoolean
public final void writeBoolean(boolean v) throws IOException
boolean
を1バイト値としてこのファイルに書き込みます。 値true
は値(byte)1
として書き込まれ、値false
は値(byte)0
として書き込まれます。 書込みは、ファイル・ポインタの現在の位置で始まります。- 定義:
writeBoolean
、インタフェースDataOutput
- パラメータ:
v
- 書き込まれるboolean
値。- 例外:
IOException
- 入出力エラーが発生した場合。
-
writeByte
public final void writeByte(int v) throws IOException
byte
を1バイト値としてこのファイルに書き込みます。 書込みは、ファイル・ポインタの現在の位置で始まります。- 定義:
writeByte
、インタフェースDataOutput
- パラメータ:
v
- 書き込まれるbyte
値。- 例外:
IOException
- 入出力エラーが発生した場合。
-
writeShort
public final void writeShort(int v) throws IOException
short
を2バイト値として上位バイトから先にファイルに書き込みます。 書込みは、ファイル・ポインタの現在の位置で始まります。- 定義:
writeShort
、インタフェースDataOutput
- パラメータ:
v
- 書き込まれるshort
値。- 例外:
IOException
- 入出力エラーが発生した場合。
-
writeChar
public final void writeChar(int v) throws IOException
char
を2バイト値として上位バイトから先にファイルに書き込みます。 書込みは、ファイル・ポインタの現在の位置で始まります。- 定義:
writeChar
、インタフェースDataOutput
- パラメータ:
v
- 書き込まれるchar
値。- 例外:
IOException
- 入出力エラーが発生した場合。
-
writeInt
public final void writeInt(int v) throws IOException
int
を4バイト値として上位バイトから先にファイルに書き込みます。 書込みは、ファイル・ポインタの現在の位置で始まります。- 定義:
writeInt
、インタフェースDataOutput
- パラメータ:
v
- 書き込まれるint
値。- 例外:
IOException
- 入出力エラーが発生した場合。
-
writeLong
public final void writeLong(long v) throws IOException
long
を8バイト値として上位バイトから先にファイルに書き込みます。 書込みは、ファイル・ポインタの現在の位置で始まります。- 定義:
writeLong
、インタフェースDataOutput
- パラメータ:
v
- 書き込まれるlong
値。- 例外:
IOException
- 入出力エラーが発生した場合。
-
writeFloat
public final void writeFloat(float v) throws IOException
Float
クラスのfloatToIntBits
メソッドを使ってfloat型の引数をint
型に変換してから、そのint
値を4バイト値として上位バイトから先にファイルに書き込みます。 書込みは、ファイル・ポインタの現在の位置で始まります。- 定義:
writeFloat
、インタフェースDataOutput
- パラメータ:
v
- 書き込まれるfloat
値。- 例外:
IOException
- 入出力エラーが発生した場合。- 関連項目:
Float.floatToIntBits(float)
-
writeDouble
public final void writeDouble(double v) throws IOException
Double
クラスのdoubleToLongBits
メソッドを使ってdouble型の引数をlong
型に変換してから、そのlong
値を8バイト値として上位バイトから先にファイルに書き込みます。 書込みは、ファイル・ポインタの現在の位置で始まります。- 定義:
writeDouble
、インタフェースDataOutput
- パラメータ:
v
- 書き込まれるdouble
値。- 例外:
IOException
- 入出力エラーが発生した場合。- 関連項目:
Double.doubleToLongBits(double)
-
writeBytes
public final void writeBytes(String s) throws IOException
文字列をバイトのシーケンスとしてファイルに書き込みます。 文字列の各文字は、高位の8ビットを破棄して順に書き込まれます。 書込みは、ファイル・ポインタの現在の位置で始まります。- 定義:
writeBytes
、インタフェースDataOutput
- パラメータ:
s
- 書き込まれるバイトの文字列。- 例外:
IOException
- 入出力エラーが発生した場合。
-
writeChars
public final void writeChars(String s) throws IOException
文字列を文字のシーケンスとしてファイルに書き込みます。 各文字は、writeChar
メソッドを使用した場合のように、データ出力ストリームに書き込まれます。 書込みは、ファイル・ポインタの現在の位置で始まります。- 定義:
writeChars
、インタフェースDataOutput
- パラメータ:
s
- 書き込まれるString
値。- 例外:
IOException
- 入出力エラーが発生した場合。- 関連項目:
writeChar(int)
-
writeUTF
public final void writeUTF(String str) throws IOException
修正UTF-8エンコーディングを使って、マシンに依存しない方法で文字列をファイルに書き込みます。まず、現在のファイル・ポインタから開始して、後続のバイト数を指定する
writeShort
メソッドを使った場合のように、2バイトがファイルに書き込まれます。 この値は、実際に書き込まれるバイト数であり、文字列の長さではありません。 長さに続いて、各文字に修正UTF-8エンコーディングを使って、文字列の各文字が順に出力されます。- 定義:
writeUTF
、インタフェースDataOutput
- パラメータ:
str
- 書き込まれる文字列。- 例外:
IOException
- 入出力エラーが発生した場合。
-
-