モジュール java.base
パッケージ java.io

クラスRandomAccessFile

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エンコーディングを使って、マシンに依存しない方法で文字列をファイルに書き込みます。

    クラス 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メソッドがファイルへの書き込みアクセスを拒否した場合
      関連項目:
      SecurityExceptionSecurityManager.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)の範囲の整数として返されます。 入力がまだ利用できない場合、このメソッドはブロックされます。

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

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

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

      RandomAccessFileInputStreamのサブクラスではありませんが、このメソッドは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バイトの入力を利用できるまでブロックされます。

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

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

      public final void readFully​(byte[] b) throws IOException
      現在のファイル・ポインタ位置から始まるb.lengthバイトをこのファイルからバイト配列に読み込みます。 このメソッドは、要求されたバイト数が読み取られるまでファイルから繰返し読み取ります。 このメソッドは、要求されたバイト数が読み取られるまで、ストリームの終わりが検出されるまで、または例外がスローされるまでブロックされます。
      定義:
      readFully、インタフェース: DataInput
      パラメータ:
      b - データの読込み先のバッファ。
      例外:
      NullPointerException - bnullである場合。
      EOFException - すべてのバイトを読み込む前に、このファイルの終わりに達した場合。
      IOException - 入出力エラーが発生した場合。
    • readFully

      public final void readFully​(byte[] b, int off, int len) throws IOException
      現在のファイル・ポインタ位置から始まるlenバイトを正確にこのファイルからバイト配列に読み込みます。 このメソッドは、要求されたバイト数が読み取られるまでファイルから繰返し読み取ります。 このメソッドは、要求されたバイト数が読み取られるまで、ストリームの終わりが検出されるまで、または例外がスローされるまでブロックされます。
      定義:
      readFully、インタフェース: DataInput
      パラメータ:
      b - データの読込み先のバッファ。
      off - データ配列bへの開始オフセット。
      len - 読み込むバイト数。
      例外:
      NullPointerException - bnullである場合。
      IndexOutOfBoundsException - offが負の値の場合、lenが負の値の場合、またはlenb.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 - 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
      このランダム・アクセス・ファイル・ストリームを閉じて、ストリームに関連付けられているシステム・リソースを解放します。 閉じられたランダム・アクセス・ファイルでは入出力操作を実行できません。

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

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

      public final boolean readBoolean() throws IOException
      このファイルからbooleanを読み込みます。 このメソッドは、現在のファイル・ポインタから開始して、単一バイトをファイルから読み取ります。 0falseを表します。 ほかの値はすべて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バイトが順にb1b2であり、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バイトが順にb1b2であり、0 <= b1, b2 <= 255の場合、結果は次のとおりです。
           (b1 << 8) | b2
       

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

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

      public final char readChar() throws IOException
      このファイルから文字を読み取ります。 このメソッドは、現在のファイル・ポインタから開始して、ファイルから2バイトを読み取ります。 読み取られた2バイトが順にb1b2であり、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バイトが順にb1b2b3、および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バイトを読み取ります。 読み取られたバイトが順に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バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。

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

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

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

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

      public final double readDouble() throws IOException
      このファイルからdoubleを読み込みます。 このメソッドは、現在のファイル・ポインタから開始して、readLongメソッドを使った場合のようにファイルからlong値を読み取り、読み取ったlongDoubleクラスの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 - 入出力エラーが発生した場合。