Android
java.io
public class

java.io.RandomAccessFile

java.lang.Object
java.io.RandomAccessFile Closeable DataInput DataOutput

RandomAccessFile is a class which allows positioning of the next read anywhere in the file. This is useful for reading specific locations of files or following links within a file. Most input classes only support forward skipping.

Summary

Public Constructors

            RandomAccessFile(File file, String mode)
Constructs a new RandomAccessFile on the File file and opens it according to the access String in mode.
            RandomAccessFile(String fileName, String mode)
Constructs a new RandomAccessFile on the file named fileName and opens it according to the access String in mode.

Public Methods

          void  close()
Close this RandomAccessFile.
  synchronized  final      FileChannel  getChannel()
Returns the FileChannel equivalent to this stream.
    final      FileDescriptor  getFD()
Returns the FileDescriptor representing the operating system resource for this RandomAccessFile.
          long  getFilePointer()
Returns the current position within this RandomAccessFile.
          long  length()
Returns the current length of this RandomAccessFile in bytes.
          int  read(byte[] buffer, int offset, int count)
Reads at most count bytes from this RandomAccessFile and stores them in byte array buffer starting at offset.
          int  read()
Reads a single byte from this RandomAccessFile and returns the result as an int.
          int  read(byte[] buffer)
Reads bytes from this RandomAccessFile into the byte array buffer.
    final      boolean  readBoolean()
Reads a boolean from this stream.
    final      byte  readByte()
Reads an 8-bit byte value from this stream.
    final      char  readChar()
Reads a 16-bit character value from this stream.
    final      double  readDouble()
Reads a 64-bit double value from this stream.
    final      float  readFloat()
Reads a 32-bit float value from this stream.
    final      void  readFully(byte[] buffer, int offset, int count)
Read bytes from this stream and stores them in byte array buffer starting at offset offset.
    final      void  readFully(byte[] buffer)
Reads bytes from this stream into the byte array buffer.
    final      int  readInt()
Reads a 32-bit integer value from this stream.
    final      String  readLine()
Returns a String representing the next line of text available in this BufferedReader.
    final      long  readLong()
Reads a 64-bit long value from this stream.
    final      short  readShort()
Reads a 16-bit short value from this stream.
    final      String  readUTF()
Reads a UTF format String from this Stream.
    final      int  readUnsignedByte()
Reads an unsigned 8-bit byte value from this stream and returns it as an int.
    final      int  readUnsignedShort()
Reads a 16-bit unsigned short value from this stream and returns it as an int.
          void  seek(long pos)
Seeks to the position pos in this RandomAccessFile.
          void  setLength(long newLength)
Set the length of this file to be newLength.
          int  skipBytes(int count)
Skips count number of bytes in this stream.
          void  write(byte[] buffer, int offset, int count)
Writes count bytes from the byte array buffer starting at offset to this RandomAccessFile starting at the current file pointer..
          void  write(int oneByte)
Writes the specified byte oneByte to this RandomAccessFile starting at the current file pointer.
          void  write(byte[] buffer)
Writes the entire contents of the byte array buffer to this RandomAccessFile starting at the current file pointer.
    final      void  writeBoolean(boolean val)
Writes a boolean to this output stream.
    final      void  writeByte(int val)
Writes a 8-bit byte to this output stream.
    final      void  writeBytes(String str)
Writes the low order 8-bit bytes from a String to this output stream.
    final      void  writeChar(int val)
Writes the specified 16-bit character to the OutputStream.
    final      void  writeChars(String str)
Writes the specified 16-bit characters contained in str to the OutputStream.
    final      void  writeDouble(double val)
Writes a 64-bit double to this output stream.
    final      void  writeFloat(float val)
Writes a 32-bit float to this output stream.
    final      void  writeInt(int val)
Writes a 32-bit int to this output stream.
    final      void  writeLong(long val)
Writes a 64-bit long to this output stream.
    final      void  writeShort(int val)
Writes the specified 16-bit short to the OutputStream.
    final      void  writeUTF(String str)
Writes the specified String out in UTF format.
Methods inherited from class java.lang.Object
Methods inherited from interface java.io.Closeable
Methods inherited from interface java.io.DataInput
Methods inherited from interface java.io.DataOutput

Details

Public Constructors

public RandomAccessFile(File file, String mode)

Constructs a new RandomAccessFile on the File file and opens it according to the access String in mode. The access mode may be one of "r" for read access only, or "rw" for read/write access.

Parameters

file the File to open.
mode "r" for read only, or "rw" for read/write.

Throws

FileNotFoundException If the mode is incorrect or the File cannot be opened in the requested mode.

public RandomAccessFile(String fileName, String mode)

Constructs a new RandomAccessFile on the file named fileName and opens it according to the access String in mode. The file may be absolute or relative to the System property "user.dir". The access mode may be one of "r" for read access only, or "rw" for read/write access.

Parameters

fileName the filename of the file to open.
mode "r" for read only, or "rw" for read/write.

Throws

FileNotFoundException If the mode is incorrect or the file cannot be opened in the requested mode.

Public Methods

public void close()

Close this RandomAccessFile.

Throws

IOException If an error occurs attempting to close this RandomAccessFile.

public final synchronized FileChannel getChannel()

Returns the FileChannel equivalent to this stream.

The file channel is write-only and has an initial position within the file that is the same as the current position of this FileOutputStream within the file. All changes made to the underlying file descriptor state via the channel are visible by the output stream and vice versa.

Returns

  • the file channel representation for this FileOutputStream.

public final FileDescriptor getFD()

Returns the FileDescriptor representing the operating system resource for this RandomAccessFile.

Returns

  • the FileDescriptor for this RandomAccessFile.

Throws

IOException If an error occurs attempting to get the FileDescriptor of this RandomAccessFile.

public long getFilePointer()

Returns the current position within this RandomAccessFile. All reads and writes take place at the current file pointer position.

Returns

  • the current file pointer position.

Throws

IOException If an error occurs attempting to get the file pointer position of this RandomAccessFile.

public long length()

Returns the current length of this RandomAccessFile in bytes.

Returns

  • the current file length in bytes.

Throws

IOException If an error occurs attempting to get the file length of this RandomAccessFile.

public int read(byte[] buffer, int offset, int count)

Reads at most count bytes from this RandomAccessFile and stores them in byte array buffer starting at offset. Answer the number of bytes actually read or -1 if no bytes were read and end of file was encountered.

Parameters

buffer the byte array in which to store the read bytes.
offset the offset in buffer to store the read bytes.
count the maximum number of bytes to store in buffer.

Returns

  • the number of bytes actually read or -1 if end of file.

Throws

IOException If an error occurs attempting to read from this RandomAccessFile.

public int read()

Reads a single byte from this RandomAccessFile and returns the result as an int. The low-order byte is returned or -1 of the end of file was encountered.

Returns

  • the byte read or -1 if end of file.

Throws

IOException If an error occurs attempting to read from this RandomAccessFile.

public int read(byte[] buffer)

Reads bytes from this RandomAccessFile into the byte array buffer. The number of bytes actually read is returned.

Parameters

buffer the buffer to read bytes into

Returns

  • the number of bytes actually read or -1 if end of file.

Throws

IOException If an error occurs attempting to read from this RandomAccessFile.

public final boolean readBoolean()

Reads a boolean from this stream.

Returns

  • boolean the next boolean value from the source stream.

Throws

IOException If a problem occurs reading from this DataInputStream.

public final byte readByte()

Reads an 8-bit byte value from this stream.

Returns

  • byte the next byte value from the source stream.

Throws

IOException If a problem occurs reading from this DataInputStream.

See Also

public final char readChar()

Reads a 16-bit character value from this stream.

Returns

  • char the next char value from the source stream.

Throws

IOException If a problem occurs reading from this DataInputStream.

See Also

public final double readDouble()

Reads a 64-bit double value from this stream.

Returns

  • double the next double value from the source stream.

Throws

IOException If a problem occurs reading from this DataInputStream.

public final float readFloat()

Reads a 32-bit float value from this stream.

Returns

  • float the next float value from the source stream.

Throws

IOException If a problem occurs reading from this DataInputStream.

public final void readFully(byte[] buffer, int offset, int count)

Read bytes from this stream and stores them in byte array buffer starting at offset offset. This method blocks until count number of bytes have been read.

Parameters

buffer the byte array in which to store the read bytes.
offset the offset in buffer to store the read bytes.
count the maximum number of bytes to store in buffer.

Throws

IOException If a problem occurs reading from this DataInputStream.

public final void readFully(byte[] buffer)

Reads bytes from this stream into the byte array buffer. This method will block until buffer.length number of bytes have been read.

Parameters

buffer the buffer to read bytes into

Throws

IOException If a problem occurs reading from this DataInputStream.

public final int readInt()

Reads a 32-bit integer value from this stream.

Returns

  • int the next int value from the source stream.

Throws

IOException If a problem occurs reading from this DataInputStream.

See Also

public final String readLine()

Returns a String representing the next line of text available in this BufferedReader. A line is represented by 0 or more characters followed by '\n', '\r', "\n\r" or end of stream. The String does not include the newline sequence.

Returns

  • String the contents of the line or null if no characters were read before end of stream.

Throws

IOException If the BufferedReader is already closed or some other IO error occurs.

public final long readLong()

Reads a 64-bit long value from this stream.

Returns

  • long the next long value from the source stream.

Throws

IOException If a problem occurs reading from this DataInputStream.

See Also

public final short readShort()

Reads a 16-bit short value from this stream.

Returns

  • short the next short value from the source stream.

Throws

IOException If a problem occurs reading from this DataInputStream.

See Also

public final String readUTF()

Reads a UTF format String from this Stream.

Returns

  • String the next UTF String from the source stream.

Throws

IOException If a problem occurs reading from this DataInputStream.

public final int readUnsignedByte()

Reads an unsigned 8-bit byte value from this stream and returns it as an int.

Returns

  • int the next unsigned byte value from the source stream.

Throws

IOException If a problem occurs reading from this DataInputStream.

See Also

public final int readUnsignedShort()

Reads a 16-bit unsigned short value from this stream and returns it as an int.

Returns

  • int the next unsigned short value from the source stream.

Throws

IOException If a problem occurs reading from this DataInputStream.

See Also

public void seek(long pos)

Seeks to the position pos in this RandomAccessFile. All read/write/skip methods sent will be relative to pos.

Parameters

pos the desired file pointer position

Throws

IOException If the stream is already closed or another IOException occurs.

public void setLength(long newLength)

Set the length of this file to be newLength. If the current file is smaller, it will be expanded and the filePosition will be set to the new file length. If the newLength is smaller then the file will be truncated.

Parameters

newLength the desired file length

Throws

IOException If the stream is already closed or another IOException occurs.

public int skipBytes(int count)

Skips count number of bytes in this stream. Subsequent read()'s will not return these bytes unless reset() is used.

Parameters

count the number of bytes to skip.

Returns

  • the number of bytes actually skipped.

Throws

IOException If the stream is already closed or another IOException occurs.

public void write(byte[] buffer, int offset, int count)

Writes count bytes from the byte array buffer starting at offset to this RandomAccessFile starting at the current file pointer..

Parameters

buffer the bytes to be written
offset offset in buffer to get bytes
count number of bytes in buffer to write

Throws

IOException If an error occurs attempting to write to this RandomAccessFile.
IndexOutOfBoundsException If offset or count are outside of bounds.

public void write(int oneByte)

Writes the specified byte oneByte to this RandomAccessFile starting at the current file pointer. Only the low order byte of oneByte is written.

Parameters

oneByte the byte to be written

Throws

IOException If an error occurs attempting to write to this RandomAccessFile.

public void write(byte[] buffer)

Writes the entire contents of the byte array buffer to this RandomAccessFile starting at the current file pointer.

Parameters

buffer the buffer to be written.

Throws

IOException If an error occurs trying to write to this RandomAccessFile.

public final void writeBoolean(boolean val)

Writes a boolean to this output stream.

Parameters

val the boolean value to write to the OutputStream

Throws

IOException If an error occurs attempting to write to this DataOutputStream.

See Also

public final void writeByte(int val)

Writes a 8-bit byte to this output stream.

Parameters

val the byte value to write to the OutputStream

Throws

IOException If an error occurs attempting to write to this DataOutputStream.

public final void writeBytes(String str)

Writes the low order 8-bit bytes from a String to this output stream.

Parameters

str the String containing the bytes to write to the OutputStream

Throws

IOException If an error occurs attempting to write to this DataOutputStream.

public final void writeChar(int val)

Writes the specified 16-bit character to the OutputStream. Only the lower 2 bytes are written with the higher of the 2 bytes written first. This represents the Unicode value of val.

Parameters

val the character to be written

Throws

IOException If an error occurs attempting to write to this DataOutputStream.

See Also

public final void writeChars(String str)

Writes the specified 16-bit characters contained in str to the OutputStream. Only the lower 2 bytes of each character are written with the higher of the 2 bytes written first. This represents the Unicode value of each character in str.

Parameters

str the String whose characters are to be written.

Throws

IOException If an error occurs attempting to write to this DataOutputStream.

See Also

public final void writeDouble(double val)

Writes a 64-bit double to this output stream. The resulting output is the 8 bytes resulting from calling Double.doubleToLongBits().

Parameters

val the double to be written.

Throws

IOException If an error occurs attempting to write to this DataOutputStream.

See Also

public final void writeFloat(float val)

Writes a 32-bit float to this output stream. The resulting output is the 4 bytes resulting from calling Float.floatToIntBits().

Parameters

val the float to be written.

Throws

IOException If an error occurs attempting to write to this DataOutputStream.

See Also

public final void writeInt(int val)

Writes a 32-bit int to this output stream. The resulting output is the 4 bytes, highest order first, of val.

Parameters

val the int to be written.

Throws

IOException If an error occurs attempting to write to this DataOutputStream.

See Also

public final void writeLong(long val)

Writes a 64-bit long to this output stream. The resulting output is the 8 bytes, highest order first, of val.

Parameters

val the long to be written.

Throws

IOException If an error occurs attempting to write to this DataOutputStream.

See Also

public final void writeShort(int val)

Writes the specified 16-bit short to the OutputStream. Only the lower 2 bytes are written with the higher of the 2 bytes written first.

Parameters

val the short to be written

Throws

IOException If an error occurs attempting to write to this DataOutputStream.

public final void writeUTF(String str)

Writes the specified String out in UTF format.

Parameters

str the String to be written in UTF format.

Throws

IOException If an error occurs attempting to write to this DataOutputStream.

See Also

Copyright 2007 Google Inc. Build 0.9_r1-98467 - 14 Aug 2008 18:56