- 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)指定された名前のファイルからの読み込み、およびオプションで書込みを行うためのランダム・アクセス・ファイル・ストリームを作成します。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 voidclose()このランダム・アクセス・ファイル・ストリームを閉じて、ストリームに関連付けられているシステム・リソースを解放します。FileChannelgetChannel()このファイルに関連付けられた一意のFileChannelオブジェクトを返します。FileDescriptorgetFD()このストリームに関連する不透明なファイル記述子を返します。longgetFilePointer()このファイルの現在のオフセットを返します。longlength()このファイルの長さを返します。intread()このファイルからデータのバイトを読み取ります。intread(byte[] b)最大b.lengthバイトのデータを、このファイルからバイト配列に読み込みます。intread(byte[] b, int off, int len)最大lenバイトのデータを、このファイルからバイト配列に読み込みます。booleanreadBoolean()このファイルからbooleanを読み込みます。bytereadByte()このファイルから署名付き8ビット値を読み取ります。charreadChar()このファイルから文字を読み取ります。doublereadDouble()このファイルからdoubleを読み込みます。floatreadFloat()このファイルからfloatを読み込みます。voidreadFully(byte[] b)現在のファイル・ポインタ位置から始まるb.lengthバイトをこのファイルからバイト配列に読み込みます。voidreadFully(byte[] b, int off, int len)現在のファイル・ポインタ位置から始まるlenバイトを正確にこのファイルからバイト配列に読み込みます。intreadInt()このファイルから署名付き32ビット整数文字を読み取ります。StringreadLine()このファイルのテキストの次の行を読み取ります。longreadLong()このファイルから署名付き64ビット整数文字を読み取ります。shortreadShort()このファイルから署名付き16ビット数を読み取ります。intreadUnsignedByte()このファイルから符号なし8ビット数を読み取ります。intreadUnsignedShort()このファイルから符号なし16ビット数を読み取ります。StringreadUTF()このファイルから文字列を読み取ります。voidseek(long pos)次の読み取りまたは書込みが発生する、ファイルの先頭から測定したファイル・ポインタ・オフセットを設定します。voidsetLength(long newLength)このファイルの長さを設定します。intskipBytes(int n)nバイトの入力をスキップして、スキップしたバイトを破棄しようとします。voidwrite(byte[] b)指定されたバイト配列からこのファイルに、現在のファイル・ポインタ位置から始まるb.lengthバイトを書き込みます。voidwrite(byte[] b, int off, int len)指定されたバイト配列のオフセット位置offから始まるlenバイトをこのファイルに書き込みます。voidwrite(int b)このファイルに指定されたバイトを書き込みます。voidwriteBoolean(boolean v)booleanを1バイト値としてこのファイルに書き込みます。voidwriteByte(int v)byteを1バイト値としてこのファイルに書き込みます。voidwriteBytes(String s)文字列をバイトのシーケンスとしてファイルに書き込みます。voidwriteChar(int v)charを2バイト値として上位バイトから先にファイルに書き込みます。voidwriteChars(String s)文字列を文字のシーケンスとしてファイルに書き込みます。voidwriteDouble(double v)DoubleクラスのdoubleToLongBitsメソッドを使ってdouble型の引数をlong型に変換してから、そのlong値を8バイト値として上位バイトから先にファイルに書き込みます。voidwriteFloat(float v)FloatクラスのfloatToIntBitsメソッドを使ってfloat型の引数をint型に変換してから、そのint値を4バイト値として上位バイトから先にファイルに書き込みます。voidwriteInt(int v)intを4バイト値として上位バイトから先にファイルに書き込みます。voidwriteLong(long v)longを8バイト値として上位バイトから先にファイルに書き込みます。voidwriteShort(int v)shortを2バイト値として上位バイトから先にファイルに書き込みます。voidwriteUTF(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 IOExceptionnバイトの入力をスキップして、スキップしたバイトを破棄しようとします。このメソッドは、一部の少数のバイト(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 IOExceptionbooleanを1バイト値としてこのファイルに書き込みます。 値trueは値(byte)1として書き込まれ、値falseは値(byte)0として書き込まれます。 書込みは、ファイル・ポインタの現在の位置で始まります。- 定義:
writeBoolean、インタフェースDataOutput- パラメータ:
v- 書き込まれるboolean値。- 例外:
IOException- 入出力エラーが発生した場合。
-
writeByte
public final void writeByte(int v) throws IOExceptionbyteを1バイト値としてこのファイルに書き込みます。 書込みは、ファイル・ポインタの現在の位置で始まります。- 定義:
writeByte、インタフェースDataOutput- パラメータ:
v- 書き込まれるbyte値。- 例外:
IOException- 入出力エラーが発生した場合。
-
writeShort
public final void writeShort(int v) throws IOExceptionshortを2バイト値として上位バイトから先にファイルに書き込みます。 書込みは、ファイル・ポインタの現在の位置で始まります。- 定義:
writeShort、インタフェースDataOutput- パラメータ:
v- 書き込まれるshort値。- 例外:
IOException- 入出力エラーが発生した場合。
-
writeChar
public final void writeChar(int v) throws IOExceptioncharを2バイト値として上位バイトから先にファイルに書き込みます。 書込みは、ファイル・ポインタの現在の位置で始まります。- 定義:
writeChar、インタフェースDataOutput- パラメータ:
v- 書き込まれるchar値。- 例外:
IOException- 入出力エラーが発生した場合。
-
writeInt
public final void writeInt(int v) throws IOExceptionintを4バイト値として上位バイトから先にファイルに書き込みます。 書込みは、ファイル・ポインタの現在の位置で始まります。- 定義:
writeInt、インタフェースDataOutput- パラメータ:
v- 書き込まれるint値。- 例外:
IOException- 入出力エラーが発生した場合。
-
writeLong
public final void writeLong(long v) throws IOExceptionlongを8バイト値として上位バイトから先にファイルに書き込みます。 書込みは、ファイル・ポインタの現在の位置で始まります。- 定義:
writeLong、インタフェースDataOutput- パラメータ:
v- 書き込まれるlong値。- 例外:
IOException- 入出力エラーが発生した場合。
-
writeFloat
public final void writeFloat(float v) throws IOExceptionFloatクラスのfloatToIntBitsメソッドを使ってfloat型の引数をint型に変換してから、そのint値を4バイト値として上位バイトから先にファイルに書き込みます。 書込みは、ファイル・ポインタの現在の位置で始まります。- 定義:
writeFloat、インタフェースDataOutput- パラメータ:
v- 書き込まれるfloat値。- 例外:
IOException- 入出力エラーが発生した場合。- 関連項目:
Float.floatToIntBits(float)
-
writeDouble
public final void writeDouble(double v) throws IOExceptionDoubleクラスの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- 入出力エラーが発生した場合。
-
-