JavaTM Platform
Standard Ed. 6

java.io
クラス RandomAccessFile

java.lang.Object
  上位を拡張 java.io.RandomAccessFile
すべての実装されたインタフェース:
Closeable, DataInput, DataOutput

public class RandomAccessFile
extends Object
implements DataOutput, DataInput, Closeable

このクラスのインスタンスは、ランダムアクセスファイルに対する読み取りと書き込みの両方をサポートします。ランダムアクセスファイルの動作は、ファイルシステムに格納された大規模なバイト配列の動作に似ています。また、ファイルポインタと呼ばれるある種のカーソル、つまり暗示配列内へのインデックスがあり、入力操作ではファイルポインタの位置でバイトの読み取りを開始し、読み取ったバイトを越えてファイルポインタを進めます。ランダムアクセスファイルが読み取り/書き込みモードで生成された場合、出力操作も利用可能になります。 出力操作では、ファイルポインタの位置でバイトの書き込みを開始し、書き込まれたバイトを越えてファイルポインタを進めます。現在の暗黙の配列の終わりを越える出力操作では、配列の拡張が発生します。ファイルポインタは getFilePointer メソッドにより読み取ることができ、seek メソッドにより設定できます。

必要なバイト数を読み取る前に end-of-file に到達した場合、IOException の一種である EOFException がスローされますが、このことはこのクラスのすべての読み取りルーチンに当てはまります。end-of-file 以外のなんらかの理由によりバイトを読み取ることができない場合、EOFException 以外の IOException がスローされます。特に、ストリームが閉じられた場合は、IOException がスローされる可能性があります。

導入されたバージョン:
JDK1.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)
          1 バイト値として boolean をファイルに書き込みます。
 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 に変換します。
 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(String str)
          修正 UTF-8 エンコーディングを使って、マシンに依存するやり方で文字列をファイルに書き込みます。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

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" モードの動作は、
FileChannel クラスの force(boolean) メソッドにそれぞれ true および false の引数を渡した場合に似ています。ただし、これらのモードはすべての入出力処理に適用されるため、より効率的です。ファイルがローカル記憶装置にある場合は、このクラスのメソッドを呼び出したときに、この呼び出しによってファイルに適用された変更が、その記憶装置にも常に書き込まれます。この方法により、システムがクラッシュしたとき、重要な情報を損失から保護できます。一方、ファイルがローカルの記憶装置上にない場合、書き込みは行われません。  

"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 オブジェクトを返します。  

返されたチャネルの java.nio.channels.FileChannel#position()position の初期値は、getFilePointer メソッドによって返されるこのオブジェクトのファイルポインタオフセットと常に等しくなります。このオブジェクトのファイルポインタオフセットを明示的にまたはバイトの読み書きによって変更すると、チャネルの位置も変更されます。その逆の場合も同様です。このオブジェクトを通じてファイルの長さを変更すると、ファイルチャネルを通じて見える長さも変更されます。その逆の場合も同様です。

戻り値:
このファイルと関連付けられたファイルチャネル
導入されたバージョン:
1.4

read

public int read()
         throws IOException
このファイルからデータのバイトを読み取ります。バイトは、0 〜 255 (0x00-0x0ff) の範囲の整数として返されます。入力がまだ利用できない場合、このメソッドはブロックされます。

RandomAccessFile は、InputStream のサブクラスではありませんが、このメソッドは InputStreamInputStream.read() メソッドとまったく同様に動作します。

戻り値:
データの次のバイト。ストリームの終わりに達した場合は -1
例外:
IOException - 入出力エラーが発生した場合end-of-file に到達した場合はスローされない

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException
このファイルから最大 len バイトのデータをバイトの配列の中に読み取ります。このメソッドは、少なくとも 1 バイトの入力を利用できるまでブロックされます。

RandomAccessFile は、InputStream のサブクラスではありませんが、このメソッドは InputStreamInputStream.read(byte[], int, int) メソッドとまったく同様に動作します。

パラメータ:
b - データの読み込み先のバッファ
off - データが書き込まれる配列 b の開始オフセット
len - 読み込まれる最大バイト数
戻り値:
バッファに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は -1
例外:
IOException - ファイルの終わりに達していること以外の理由で最初のバイトを読み込めない場合、ランダムアクセスファイルが閉じられた場合、またはその他の入出力エラーが発生した場合
NullPointerException - bnull の場合
IndexOutOfBoundsException - off が負の場合、len が負の場合、または lenb.length - off よりも大きい場合

read

public int read(byte[] b)
         throws IOException
このファイルから最大 b.length バイトのデータをバイトの配列の中に読み取ります。このメソッドは、少なくとも 1 バイトの入力を利用できるまでブロックされます。

RandomAccessFile は、InputStream のサブクラスではありませんが、このメソッドは InputStreamInputStream.read(byte[]) メソッドとまったく同様に動作します。

パラメータ:
b - データの読み込み先のバッファ
戻り値:
バッファに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は -1
例外:
IOException - ファイルの終わりに達していること以外の理由で最初のバイトを読み込めない場合、ランダムアクセスファイルが閉じられた場合、またはその他の入出力エラーが発生した場合
NullPointerException - bnull の場合

readFully

public final void readFully(byte[] b)
                     throws IOException
現在のファイルポインタの位置から開始して b.length バイトをこのファイルからバイト配列の中に読み取ります。このメソッドは、要求されたバイト数が読み取られるまでファイルから繰り返し読み取ります。このメソッドは、要求されたバイト数が読み取られるまで、ストリームの終わりが検出されるまで、または例外がスローされるまでブロックされます。

定義:
インタフェース DataInput 内の readFully
パラメータ:
b - データの読み込み先のバッファ
例外:
EOFException - すべてのバイトを読み込む前に、このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合

readFully

public final void readFully(byte[] b,
                            int off,
                            int len)
                     throws IOException
現在のファイルポインタの位置から開始して正確に len バイトをこのファイルからバイト配列の中に読み取ります。このメソッドは、要求されたバイト数が読み取られるまでファイルから繰り返し読み取ります。このメソッドは、要求されたバイト数が読み取られるまで、ストリームの終わりが検出されるまで、または例外がスローされるまでブロックされます。

定義:
インタフェース DataInput 内の readFully
パラメータ:
b - データの読み込み先のバッファ
off - データの開始オフセット
len - 読み込むバイト数
例外:
EOFException - すべてのバイトを読み込む前に、このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合

skipBytes

public int skipBytes(int n)
              throws IOException
n バイトの入力をスキップして、スキップしたバイトを破棄しようとします。

このメソッドは、一部の少数のバイト (0 バイトも可能) をスキップできます。このスキップは複数の条件に起因する可能性がありますが、考えられる唯一の場合は、n バイトがスキップされる前にファイルの終わりに達した場合です。このメソッドは、EOFException をスローすることはありません。スキップされた実際のバイト数が返されます。n が負の場合、バイトはスキップされません。

定義:
インタフェース DataInput 内の skipBytes
パラメータ:
n - スキップするバイト数
戻り値:
実際にスキップされたバイト数
例外:
IOException - 入出力エラーが発生した場合

write

public void write(int b)
           throws IOException
このファイルに指定されたバイトを書き込みます。書き込みは、現在のファイルポインタの位置で始まります。

定義:
インタフェース DataOutput 内の write
パラメータ:
b - 書き込まれる byte
例外:
IOException - 入出力エラーが発生した場合

write

public void write(byte[] b)
           throws IOException
指定されたバイト配列からこのファイルに、現在のファイルポインタ位置から開始して b.length バイトを書き込みます。

定義:
インタフェース DataOutput 内の write
パラメータ:
b - データ
例外:
IOException - 入出力エラーが発生した場合

write

public void write(byte[] b,
                  int off,
                  int len)
           throws IOException
指定されたバイト配列のオフセット off から len バイトを、このファイルに書き込みます。

定義:
インタフェース DataOutput 内の write
パラメータ:
b - データ
off - データの開始オフセット
len - 書き込むバイト数
例外:
IOException - 入出力エラーが発生した場合

getFilePointer

public long getFilePointer()
                    throws IOException
このファイルの現在のオフセットを返します。

戻り値:
ファイルの先頭からのバイト単位のオフセットで、ここから次の読み込みまたは書き込みが発生する
例外:
IOException - 入出力エラーが発生した場合

seek

public void seek(long pos)
          throws IOException
次の読み取りまたは書き込みが発生する、ファイルの先頭から測定したファイルポインタオフセットを設定します。オフセットは、ファイルの終わりを越えて設定できます。ファイルの終わりを越えてオフセットを設定してもファイル長は変わりません。ファイル長は、ファイルの終わりを越えてオフセットが設定されたあとに書き込まれた場合だけ変わります。

パラメータ:
pos - ファイルの先頭を始点とした、バイト単位のオフセット位置。この位置にファイルポインタが設定される
例外:
IOException - pos0 より小さい場合、あるいは入出力エラーが発生した場合

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
このランダムアクセスファイルストリームを閉じて、ストリームに関連付けられたシステムリソースを解放します。閉じられたランダムアクセスファイルでは入出力操作を実行できません。  

このファイルに関連付けられているチャネルがある場合は、そのチャネルも閉じます。

定義:
インタフェース Closeable 内の close
例外:
IOException - 入出力エラーが発生した場合

readBoolean

public final boolean readBoolean()
                          throws IOException
このファイルから boolean を読み取ります。このメソッドは、現在のファイルポインタから開始して、単一バイトをファイルから読み取ります。0 の値は false を表します。ほかの値は true を表します。このメソッドは、バイトを読み込み終わるか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。

定義:
インタフェース DataInput 内の readBoolean
戻り値:
読み込まれた boolean の値
例外:
EOFException - このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合

readByte

public final byte readByte()
                    throws IOException
このファイルから署名付き 8 ビット値を読み取ります。このメソッドは、現在のファイルポインタから開始して、ファイルからバイトを読み取ります。読み取られたバイトが b であり、0 <= b <= 255 の場合、結果は次のとおりです。
     (byte)(b)
 

このメソッドは、バイトを読み込み終わるか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。

定義:
インタフェース DataInput 内の readByte
戻り値:
符号付き 8 ビット byte として解釈される、このファイルの次のバイト
例外:
EOFException - このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合

readUnsignedByte

public final int readUnsignedByte()
                           throws IOException
このファイルから符号なし 8 ビット数を読み取ります。このメソッドは、現在のファイルポインタから開始して、ファイルからバイトを読み取ります。

このメソッドは、バイトを読み込み終わるか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。

定義:
インタフェース DataInput 内の readUnsignedByte
戻り値:
符号なしの 8 ビット数として解釈される、このファイルの次のバイト
例外:
EOFException - このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合

readShort

public final short readShort()
                      throws IOException
このファイルから署名付き 16 ビット数を読み取ります。このメソッドは、現在のファイルポインタから開始して、ファイルから 2 バイトを読み取ります。読み取られた 2 バイトが順に b1b2 であり、2 つの値がそれぞれ 0 以上 255 以下の場合、結果は次のとおりです。
     (short)((b1 << 8) | b2)
 

このメソッドは、2 バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。

定義:
インタフェース DataInput 内の readShort
戻り値:
符号付き 16 ビット数として解釈される、このファイルの次の 2 バイト
例外:
EOFException - 2 バイトを読み込む前に、このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合

readUnsignedShort

public final int readUnsignedShort()
                            throws IOException
このファイルから符号なし 16 ビット数を読み取ります。このメソッドは、現在のファイルポインタから開始して、ファイルから 2 バイトを読み取ります。読み取られた 2 バイトが順に b1b2 であり、0 <= b1、b2 <= 255 の場合、結果は次のとおりです。
     (b1 << 8) | b2
 

このメソッドは、2 バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。

定義:
インタフェース DataInput 内の readUnsignedShort
戻り値:
符号なし 16 ビット整数として解釈される、このファイルの次の 2 バイト
例外:
EOFException - 2 バイトを読み込む前に、このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合

readChar

public final char readChar()
                    throws IOException
このファイルから文字を読み取ります。このメソッドは、現在のファイルポインタから開始して、ファイルから 2 バイトを読み取ります。読み取られた 2 バイトが順に b1b2 であり、0 <= b1、 b2 <= 255 の場合、結果は次のとおりです。
     (char)((b1 << 8) | b2)
 

このメソッドは、2 バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。

定義:
インタフェース DataInput 内の readChar
戻り値:
char として解釈されるこのファイルの次の 2 バイト
例外:
EOFException - 2 バイトを読み込む前に、このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合

readInt

public final int readInt()
                  throws IOException
このファイルから署名付き 32 ビット整数文字を読み取ります。このメソッドは、現在のファイルポインタから開始して、ファイルから 4 バイトを読み取ります。読み取られたバイトが順に b1b2b3、および b4 であり、0 <= b1、b2、b3、b4 <= 255 の場合、結果は次のとおりです。
     (b1 << 24) | (b2 << 16) + (b3 << 8) + b4
 

このメソッドは、4 バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。

定義:
インタフェース DataInput 内の readInt
戻り値:
int として解釈される、このファイルの次の 4 バイト
例外:
EOFException - 4 バイトを読み込む前に、このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合

readLong

public final long readLong()
                    throws IOException
このファイルから署名付き 64 ビット整数文字を読み取ります。このメソッドは、現在のファイルポインタから開始して、ファイルから 8 バイトを読み取ります。読み取られたバイトが順に b1b2b3b4b5b6b7、および 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 バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。

定義:
インタフェース DataInput 内の readLong
戻り値:
long として解釈される、このファイルの次の 8 バイト
例外:
EOFException - 8 バイトを読み込む前に、このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合

readFloat

public final float readFloat()
                      throws IOException
このファイルから float を読み取ります。このメソッドは、現在のファイルポインタから開始して、readInt メソッドを使った場合のようにファイルから int 値を読み取り、読み取った intFloat クラスの intBitsToFloat メソッドを使って float にします。

このメソッドは、4 バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。

定義:
インタフェース DataInput 内の readFloat
戻り値:
float として解釈される、このファイルの次の 4 バイト
例外:
EOFException - 4 バイトを読み込む前に、このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合
関連項目:
readInt(), Float.intBitsToFloat(int)

readDouble

public final double readDouble()
                        throws IOException
このファイルから double を読み取ります。このメソッドは、現在のファイルポインタから開始して、readLong メソッドを使った場合のようにファイルから long 値を読み取り、読み取った longDouble クラスの longBitsToDouble メソッドを使って double に変換します。

このメソッドは、8 バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。

定義:
インタフェース DataInput 内の readDouble
戻り値:
double として解釈される、このファイルの次の 8 バイト
例外:
EOFException - 8 バイトを読み込む前に、このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合
関連項目:
readLong(), Double.longBitsToDouble(long)

readLine

public final String readLine()
                      throws IOException
このファイルのテキストの次の行を読み取ります。このメソッドは、現在のファイルポインタから開始して、改行またはファイルの終わりに達するまでファイルからバイトを連続的に読み取ります。各バイトは、文字の下位 8 ビットのバイト値を取得し、文字の上位 8 ビットを 0 に設定して文字に変換されます。したがって、このメソッドは Unicode 文字セット全体をサポートしていません。  

テキスト行は、キャリッジリターン文字 ('\r')、改行文字 ('\n')、キャリッジリターン文字とそれに続く改行文字、またはファイルの終わりで終了します。行末文字は破棄され、返された文字列の部分に含まれません。  

このメソッドは、改行文字が読み込まれるまで、復帰とそれに続くバイトが読み込まれる (改行かどうかを確認する) まで、ファイルの終わりに達するまで、または例外がスローされるまでブロックします。

定義:
インタフェース DataInput 内の readLine
戻り値:
このファイルからの次のテキスト行。ファイルの終わりが検出されるまでに 1 バイトも読み込めなかった場合は null
例外:
IOException - 入出力エラーが発生した場合

readUTF

public final String readUTF()
                     throws IOException
このファイルから文字列を読み取ります。文字列は、修正 UTF-8 形式を使用してエンコードされています。

現在のファイルポインタから開始して、readUnsignedShort を使用した場合のように最初の 2 バイトを読み取ります。この値は、結果として得られる文字列の長さではなく、エンコードされた文字列にある後続のバイト数を提供します。後続のバイトは、修正 UTF-8 形式のバイトエンコーディング文字として解釈され、文字に変換されます。

このメソッドは、すべてのバイトを読み込み終わるか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。

定義:
インタフェース DataInput 内の readUTF
戻り値:
Unicode 文字列
例外:
EOFException - すべてのバイトを読み込む前に、このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合
UTFDataFormatException - バイトが有効な修正 UTF-8 エンコーディングの Unicode 文字列を表さない場合
関連項目:
readUnsignedShort()

writeBoolean

public final void writeBoolean(boolean v)
                        throws IOException
1 バイト値として boolean をファイルに書き込みます。値 true は、値 (byte)1 として書き込まれ、値 false は値 (byte)0 として書き込まれます。書き込みは、ファイルポインタの現在の位置で始まります。

定義:
インタフェース DataOutput 内の writeBoolean
パラメータ:
v - 書き込まれる boolean
例外:
IOException - 入出力エラーが発生した場合

writeByte

public final void writeByte(int v)
                     throws IOException
byte を 1 バイト値としてこのファイルに書き込みます。書き込みは、ファイルポインタの現在の位置で始まります。

定義:
インタフェース DataOutput 内の writeByte
パラメータ:
v - 書き込まれる byte
例外:
IOException - 入出力エラーが発生した場合

writeShort

public final void writeShort(int v)
                      throws IOException
short を 2 バイト値として、高位バイトを先にファイルに書き込みます。書き込みは、ファイルポインタの現在の位置で始まります。

定義:
インタフェース DataOutput 内の writeShort
パラメータ:
v - 書き込まれる short
例外:
IOException - 入出力エラーが発生した場合

writeChar

public final void writeChar(int v)
                     throws IOException
char を 2 バイト値として、高位バイトを先にファイルに書き込みます。書き込みは、ファイルポインタの現在の位置で始まります。

定義:
インタフェース DataOutput 内の writeChar
パラメータ:
v - 書き込まれる char
例外:
IOException - 入出力エラーが発生した場合

writeInt

public final void writeInt(int v)
                    throws IOException
int を 4 バイトとして、高位バイトを先にファイルに書き込みます。書き込みは、ファイルポインタの現在の位置で始まります。

定義:
インタフェース DataOutput 内の writeInt
パラメータ:
v - 書き込まれる int
例外:
IOException - 入出力エラーが発生した場合

writeLong

public final void writeLong(long v)
                     throws IOException
long を 8 バイトとして、高位バイトを先にファイルに書き込みます。書き込みは、ファイルポインタの現在の位置で始まります。

定義:
インタフェース DataOutput 内の writeLong
パラメータ:
v - 書き込まれる long
例外:
IOException - 入出力エラーが発生した場合

writeFloat

public final void writeFloat(float v)
                      throws IOException
Float クラスの floatToIntBits メソッドを使って、float 引数を int に変換します。次に、変換された int 値を 4 バイトの量として、高位バイトを先にファイルに書き込みます。書き込みは、ファイルポインタの現在の位置で始まります。

定義:
インタフェース DataOutput 内の writeFloat
パラメータ:
v - 書き込まれる float
例外:
IOException - 入出力エラーが発生した場合
関連項目:
Float.floatToIntBits(float)

writeDouble

public final void writeDouble(double v)
                       throws IOException
Double クラスの doubleToLongBits メソッドを使って、double 引数を long に変換します。次に、変換された long 値を 8 バイトの量として、高位バイトを先にファイルに書き込みます。書き込みは、ファイルポインタの現在の位置で始まります。

定義:
インタフェース DataOutput 内の writeDouble
パラメータ:
v - 書き込まれる double
例外:
IOException - 入出力エラーが発生した場合
関連項目:
Double.doubleToLongBits(double)

writeBytes

public final void writeBytes(String s)
                      throws IOException
文字列をバイトのシーケンスとしてファイルに書き込みます。文字列の各文字は、高位の 8 ビットを破棄して順に書き込まれます。書き込みは、ファイルポインタの現在の位置で始まります。

定義:
インタフェース DataOutput 内の writeBytes
パラメータ:
s - 書き込まれるバイトの文字列
例外:
IOException - 入出力エラーが発生した場合

writeChars

public final void writeChars(String s)
                      throws IOException
文字列を文字のシーケンスとしてファイルに書き込みます。各文字は、writeChar メソッドを使用した場合のように、データ出力ストリームに書き込まれます。書き込みは、ファイルポインタの現在の位置で始まります。

定義:
インタフェース DataOutput 内の writeChars
パラメータ:
s - 書き込まれる String
例外:
IOException - 入出力エラーが発生した場合
関連項目:
writeChar(int)

writeUTF

public final void writeUTF(String str)
                    throws IOException
修正 UTF-8 エンコーディングを使って、マシンに依存するやり方で文字列をファイルに書き込みます。

まず、現在のファイルポインタから開始して、後続のバイト数を指定する writeShort メソッドを使った場合のように、2 バイトがファイルに書き込まれます。この値は、実際に書き込まれるバイト数であり、文字列の長さではありません。長さに続いて、各文字に修正 UTF-8 エンコーディングを使って、文字列の各文字が順に出力されます。

定義:
インタフェース DataOutput 内の writeUTF
パラメータ:
str - 書き込まれる文字列
例外:
IOException - 入出力エラーが発生した場合

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。