类 RandomAccessFile
- java.lang.Object
-
- org.meteoinfo.common.io.RandomAccessFile
-
- 所有已实现的接口:
DataInput,DataOutput
public class RandomAccessFile extends Object implements DataInput, DataOutput
A buffered drop-in replacement for java.io.RandomAccessFile. Instances of this class realise substantial speed increases over java.io.RandomAccessFile through the use of buffering. This is a subclass of Object, as it was not possible to subclass java.io.RandomAccessFile because many of the methods are final. However, if it is necessary to use RandomAccessFile and java.io.RandomAccessFile interchangeably, both classes implement the DataInput and DataOutput interfaces.By Russ Rew, based on BufferedRandomAccessFile by Alex McManus, based on Sun's source code for java.io.RandomAccessFile. For Alex McManus version from which this derives, see his Freeware Java Classes.
- 作者:
- Alex McManus, Russ Rew, john caron
- 另请参阅:
DataInput,DataOutput,RandomAccessFile
-
-
字段概要
字段 修饰符和类型 字段 说明 protected static Set<String>allFilesstatic intBIG_ENDIANprotected booleanbigEndianThe current endian (big or little) mode of the file.protected byte[]bufferThe buffer used for reading the data.protected longbufferStartThe offset in bytes of the start of the buffer, from the start of the file.protected longdataEndThe offset in bytes of the end of the data in the buffer, from the start of the file.protected intdataSizeThe size of the data stored in the buffer, in bytes.protected static booleandebugAccessprotected static booleandebugLeaksprotected static intdefaultBufferSizeThe default buffer size, in bytes.protected booleanendOfFileTrue if we are at the end of the file.protected RandomAccessFilefileThe underlying java.io.RandomAccessFile.protected FileChannelfileChannelprotected longfilePositionThe offset in bytes from the file start, of the next read or write operation.static intLITTLE_ENDIANprotected StringlocationFile locationprotected static List<String>openFilesprotected booleanreadonlyThe access mode of the file.protected static booleanshowOpenprotected static booleanshowRead
-
构造器概要
构造器 限定符 构造器 说明 protectedRandomAccessFile(int bufferSize)Constructor, for subclassesRandomAccessFile(String location, String mode)Constructor, default buffer size.RandomAccessFile(String location, String mode, int bufferSize)Constructor.
-
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 voidclose()Close the file, and release any associated system resources.voidflush()Copy the contents of the buffer to the disk.static List<String>getAllFiles()intgetBufferSize()Get the buffer sizestatic booleangetDebugLeaks()Debugging, do not use.static longgetDebugNbytes()static intgetDebugNseeks()FileDescriptorgetFD()Returns the opaque file descriptor object associated with this file.longgetFilePointer()Returns the current position in the file, where the next read or write will occur.StringgetLocation()Get the file location, or name.static List<String>getOpenFiles()Debugging, do not use.RandomAccessFilegetRandomAccessFile()Allow access to the underlying java.io.RandomAccessFile.booleanisAtEndOfFile()Return true if file pointer is at end of file.longlength()Get the length of the file.voidorder(int endian)Change the current endian mode.intread()Read a byte of data from the file, blocking until data is available.intread(byte[] b)Read up tob.length( )bytes into an array.intread(byte[] b, int off, int len)Read up tolenbytes into an array, at a specified offset.protected intread_(long pos, byte[] b, int offset, int len)Read directly from file, without going through the buffer.booleanreadBoolean()Reads abooleanfrom this file.protected voidreadBuffer(long pos)bytereadByte()Reads a signed 8-bit value from this file.protected intreadBytes(byte[] b, int off, int len)Read up tolenbytes into an array, at a specified offset.byte[]readBytes(int count)Read fully count number of bytescharreadChar()Reads a Unicode character from this file.doublereadDouble()Reads adoublefrom this file.voidreadDouble(double[] pa, int start, int n)Read an array of doublesfloatreadFloat()Reads afloatfrom this file.voidreadFloat(float[] pa, int start, int n)Read an array of floatsvoidreadFully(byte[] b)Readsb.lengthbytes from this file into the byte array.voidreadFully(byte[] b, int off, int len)Reads exactlylenbytes from this file into the byte array.intreadInt()Reads a signed 32-bit integer from this file.voidreadInt(int[] pa, int start, int n)Read an array of intsintreadIntUnbuffered(long pos)Read an integer at the given position, bypassing all buffering.StringreadLine()Reads the next line of text from this file.longreadLong()Reads a signed 64-bit integer from this file.voidreadLong(long[] pa, int start, int n)Read an array of longsshortreadShort()Reads a signed 16-bit number from this file.voidreadShort(short[] pa, int start, int n)Read an array of shortsStringreadString(int nbytes)Read a String of knoen length.longreadToByteChannel(WritableByteChannel dest, long offset, long nbytes)Readnbytesbytes, at the specified file offset, send to a WritableByteChannel.intreadUnsignedByte()Reads an unsigned 8-bit number from this file.longreadUnsignedInt()intreadUnsignedShort()Reads an unsigned 16-bit number from this file.StringreadUTF()Reads in a string from this file.booleansearchForward(KMPMatch match, int maxBytes)Search forward from the current pos, looking for a match.voidseek(long pos)Set the position in the file for the next read or write.voidsetBufferSize(int bufferSize)Set the buffer size.static voidsetDebugAccess(boolean b)Debugging, do not use.static voidsetDebugLeaks(boolean b)Debugging, do not use.voidsetExtendMode()Set extendMode for truncated, yet valid files - old NetCDF code allowed this when NOFILL on, and user doesnt write all variables.voidsetMinLength(long minLength)Make sure file is at least this long when its closed.intskipBytes(int n)Skips exactlynbytes of input.StringtoString()Create a string representation of this object.voidunread()Unread the last byte read.voidwrite(byte[] b)Writesb.lengthbytes from the specified byte array starting at offsetoffto this file.voidwrite(byte[] b, int off, int len)Writeslenbytes from the specified byte array starting at offsetoffto this file.voidwrite(int b)Write a byte to the file.voidwriteBoolean(boolean v)Writes abooleanto the file as a 1-byte value.voidwriteBoolean(boolean[] pa, int start, int n)Write an array of booleansvoidwriteByte(int v)Writes abyteto the file as a 1-byte value.voidwriteBytes(byte[] b, int off, int len)Writelenbytes from an array to the file.voidwriteBytes(char[] b, int off, int len)Writes the character array to the file as a sequence of bytes.voidwriteBytes(String s)Writes the string to the file as a sequence of bytes.voidwriteChar(char[] pa, int start, int n)Write an array of charsvoidwriteChar(int v)Writes acharto the file as a 2-byte value, high byte first.voidwriteChars(String s)Writes a string to the file as a sequence of characters.voidwriteDouble(double v)Converts the double argument to alongusing thedoubleToLongBitsmethod in classDouble, and then writes thatlongvalue to the file as an 8-byte quantity, high byte first.voidwriteDouble(double[] pa, int start, int n)Write an array of doublesvoidwriteFloat(float v)Converts the float argument to anintusing thefloatToIntBitsmethod in classFloat, and then writes thatintvalue to the file as a 4-byte quantity, high byte first.voidwriteFloat(float[] pa, int start, int n)Write an array of floatsvoidwriteInt(int v)Writes anintto the file as four bytes, high byte first.voidwriteInt(int[] pa, int start, int n)Write an array of intsvoidwriteLong(long v)Writes alongto the file as eight bytes, high byte first.voidwriteLong(long[] pa, int start, int n)Write an array of longsvoidwriteShort(int v)Writes ashortto the file as two bytes, high byte first.voidwriteShort(short[] pa, int start, int n)Write an array of shortsvoidwriteUTF(String str)Writes a string to the file using UTF-8 encoding in a machine-independent manner.
-
-
-
字段详细资料
-
BIG_ENDIAN
public static final int BIG_ENDIAN
- 另请参阅:
- 常量字段值
-
LITTLE_ENDIAN
public static final int LITTLE_ENDIAN
- 另请参阅:
- 常量字段值
-
debugLeaks
protected static boolean debugLeaks
-
debugAccess
protected static boolean debugAccess
-
showOpen
protected static boolean showOpen
-
showRead
protected static boolean showRead
-
defaultBufferSize
protected static final int defaultBufferSize
The default buffer size, in bytes.- 另请参阅:
- 常量字段值
-
location
protected String location
File location
-
file
protected RandomAccessFile file
The underlying java.io.RandomAccessFile.
-
fileChannel
protected FileChannel fileChannel
-
filePosition
protected long filePosition
The offset in bytes from the file start, of the next read or write operation.
-
buffer
protected byte[] buffer
The buffer used for reading the data.
-
bufferStart
protected long bufferStart
The offset in bytes of the start of the buffer, from the start of the file.
-
dataEnd
protected long dataEnd
The offset in bytes of the end of the data in the buffer, from the start of the file. This can be calculated frombufferStart + dataSize, but it is cached to speed up the read( ) method.
-
dataSize
protected int dataSize
The size of the data stored in the buffer, in bytes. This may be less than the size of the buffer.
-
endOfFile
protected boolean endOfFile
True if we are at the end of the file.
-
readonly
protected boolean readonly
The access mode of the file.
-
bigEndian
protected boolean bigEndian
The current endian (big or little) mode of the file.
-
-
构造器详细资料
-
RandomAccessFile
protected RandomAccessFile(int bufferSize)
Constructor, for subclasses- 参数:
bufferSize- size of read buffer
-
RandomAccessFile
public RandomAccessFile(String location, String mode) throws IOException
Constructor, default buffer size.- 参数:
location- location of the filemode- same as for java.io.RandomAccessFile- 抛出:
IOException- on open error
-
RandomAccessFile
public RandomAccessFile(String location, String mode, int bufferSize) throws IOException
Constructor.- 参数:
location- location of the filemode- same as for java.io.RandomAccessFilebufferSize- size of buffer to use.- 抛出:
IOException- on open error
-
-
方法详细资料
-
getDebugLeaks
public static boolean getDebugLeaks()
Debugging, do not use.- 返回:
- true if debugLeaks is on
-
setDebugLeaks
public static void setDebugLeaks(boolean b)
Debugging, do not use.- 参数:
b- set true to track java.io.RandomAccessFile
-
getOpenFiles
public static List<String> getOpenFiles()
Debugging, do not use.- 返回:
- list of open files.
-
setDebugAccess
public static void setDebugAccess(boolean b)
Debugging, do not use.- 参数:
b- to debug file reading
-
getDebugNseeks
public static int getDebugNseeks()
-
getDebugNbytes
public static long getDebugNbytes()
-
getRandomAccessFile
public RandomAccessFile getRandomAccessFile()
Allow access to the underlying java.io.RandomAccessFile. WARNING! BROKEN ENCAPSOLATION, DO NOT USE. May change implementation in the future.- 返回:
- the underlying java.io.RandomAccessFile.
-
setBufferSize
public void setBufferSize(int bufferSize)
Set the buffer size. If writing, call flush() first.- 参数:
bufferSize- length in bytes
-
getBufferSize
public int getBufferSize()
Get the buffer size- 返回:
- bufferSize length in bytes
-
close
public void close() throws IOExceptionClose the file, and release any associated system resources.- 抛出:
IOException- if an I/O error occurrs.
-
isAtEndOfFile
public boolean isAtEndOfFile()
Return true if file pointer is at end of file.- 返回:
- true if file pointer is at end of file
-
seek
public void seek(long pos) throws IOExceptionSet the position in the file for the next read or write.- 参数:
pos- the offset (in bytes) from the start of the file.- 抛出:
IOException- if an I/O error occurrs.
-
readBuffer
protected void readBuffer(long pos) throws IOException- 抛出:
IOException
-
getFilePointer
public long getFilePointer()
Returns the current position in the file, where the next read or write will occur.- 返回:
- the offset from the start of the file in bytes.
-
getLocation
public String getLocation()
Get the file location, or name.- 返回:
- file location
-
length
public long length() throws IOExceptionGet the length of the file. The data in the buffer (which may not have been written the disk yet) is taken into account.- 返回:
- the length of the file in bytes.
- 抛出:
IOException- if an I/O error occurrs.
-
order
public void order(int endian)
Change the current endian mode. Subsequent reads of short, int, float, double, long, char will use this. Does not currently affect writes. Default values is BIG_ENDIAN.- 参数:
endian- RandomAccessFile.BIG_ENDIAN or RandomAccessFile.LITTLE_ENDIAN
-
getFD
public FileDescriptor getFD() throws IOException
Returns the opaque file descriptor object associated with this file.- 返回:
- the file descriptor object associated with this file.
- 抛出:
IOException- if an I/O error occurs.
-
flush
public void flush() throws IOExceptionCopy the contents of the buffer to the disk.- 抛出:
IOException- if an I/O error occurs.
-
setMinLength
public void setMinLength(long minLength)
Make sure file is at least this long when its closed. needed when not using fill mode, and not all data is written.- 参数:
minLength- minimum length of the file.
-
setExtendMode
public void setExtendMode()
Set extendMode for truncated, yet valid files - old NetCDF code allowed this when NOFILL on, and user doesnt write all variables.
-
read
public int read() throws IOExceptionRead a byte of data from the file, blocking until data is available.- 返回:
- the next byte of data, or -1 if the end of the file is reached.
- 抛出:
IOException- if an I/O error occurrs.
-
readBytes
protected int readBytes(byte[] b, int off, int len) throws IOExceptionRead up tolenbytes into an array, at a specified offset. This will block until at least one byte has been read.- 参数:
b- the byte array to receive the bytes.off- the offset in the array where copying will start.len- the number of bytes to copy.- 返回:
- the actual number of bytes read, or -1 if there is not more data due to the end of the file being reached.
- 抛出:
IOException- if an I/O error occurrs.
-
readToByteChannel
public long readToByteChannel(WritableByteChannel dest, long offset, long nbytes) throws IOException
Readnbytesbytes, at the specified file offset, send to a WritableByteChannel. This will block until all bytes are read. This uses the underlying file channel directly, bypassing all user buffers.- 参数:
dest- write to this WritableByteChannel.offset- the offset in the file where copying will start.nbytes- the number of bytes to read.- 返回:
- the actual number of bytes read and transfered
- 抛出:
IOException- if an I/O error occurs.
-
read_
protected int read_(long pos, byte[] b, int offset, int len) throws IOExceptionRead directly from file, without going through the buffer. All reading goes through here or readToByteChannel;- 参数:
pos- start here in the fileb- put data into this bufferoffset- buffer offsetlen- this number of bytes- 返回:
- actual number of bytes read
- 抛出:
IOException- on io error
-
read
public int read(byte[] b, int off, int len) throws IOExceptionRead up tolenbytes into an array, at a specified offset. This will block until at least one byte has been read.- 参数:
b- the byte array to receive the bytes.off- the offset in the array where copying will start.len- the number of bytes to copy.- 返回:
- the actual number of bytes read, or -1 if there is not more data due to the end of the file being reached.
- 抛出:
IOException- if an I/O error occurrs.
-
read
public int read(byte[] b) throws IOExceptionRead up tob.length( )bytes into an array. This will block until at least one byte has been read.- 参数:
b- the byte array to receive the bytes.- 返回:
- the actual number of bytes read, or -1 if there is not more data due to the end of the file being reached.
- 抛出:
IOException- if an I/O error occurrs.
-
readBytes
public byte[] readBytes(int count) throws IOExceptionRead fully count number of bytes- 参数:
count- how many bytes tp read- 返回:
- a byte array of length count, fully read in
- 抛出:
IOException- if an I/O error occurrs.
-
readFully
public final void readFully(byte[] b) throws IOExceptionReadsb.lengthbytes from this file into the byte array. This method reads repeatedly from the file until all the bytes are read. This method blocks until all the bytes are read, the end of the stream is detected, or an exception is thrown.- 指定者:
readFully在接口中DataInput- 参数:
b- the buffer into which the data is read.- 抛出:
EOFException- if this file reaches the end before reading all the bytes.IOException- if an I/O error occurs.
-
readFully
public final void readFully(byte[] b, int off, int len) throws IOExceptionReads exactlylenbytes from this file into the byte array. This method reads repeatedly from the file until all the bytes are read. This method blocks until all the bytes are read, the end of the stream is detected, or an exception is thrown.- 指定者:
readFully在接口中DataInput- 参数:
b- the buffer into which the data is read.off- the start offset of the data.len- the number of bytes to read.- 抛出:
EOFException- if this file reaches the end before reading all the bytes.IOException- if an I/O error occurs.
-
skipBytes
public int skipBytes(int n) throws IOExceptionSkips exactlynbytes of input. This method blocks until all the bytes are skipped, the end of the stream is detected, or an exception is thrown.- 指定者:
skipBytes在接口中DataInput- 参数:
n- the number of bytes to be skipped.- 返回:
- the number of bytes skipped, which is always
n. - 抛出:
EOFException- if this file reaches the end before skipping all the bytes.IOException- if an I/O error occurs.
-
unread
public void unread()
Unread the last byte read. This method should not be used more than once between reading operations, or strange things might happen.
-
write
public void write(int b) throws IOExceptionWrite a byte to the file. If the file has not been opened for writing, an IOException will be raised only when an attempt is made to write the buffer to the file. Caveat: the effects of seek( )ing beyond the end of the file are undefined.- 指定者:
write在接口中DataOutput- 参数:
b- write this byte- 抛出:
IOException- if an I/O error occurrs.
-
writeBytes
public void writeBytes(byte[] b, int off, int len) throws IOExceptionWritelenbytes from an array to the file.- 参数:
b- the array containing the data.off- the offset in the array to the data.len- the length of the data.- 抛出:
IOException- if an I/O error occurrs.
-
write
public void write(byte[] b) throws IOExceptionWritesb.lengthbytes from the specified byte array starting at offsetoffto this file.- 指定者:
write在接口中DataOutput- 参数:
b- the data.- 抛出:
IOException- if an I/O error occurs.
-
write
public void write(byte[] b, int off, int len) throws IOExceptionWriteslenbytes from the specified byte array starting at offsetoffto this file.- 指定者:
write在接口中DataOutput- 参数:
b- the data.off- the start offset in the data.len- the number of bytes to write.- 抛出:
IOException- if an I/O error occurs.
-
readBoolean
public final boolean readBoolean() throws IOExceptionReads abooleanfrom this file. This method reads a single byte from the file. A value of0representsfalse. Any other value representstrue. This method blocks until the byte is read, the end of the stream is detected, or an exception is thrown.- 指定者:
readBoolean在接口中DataInput- 返回:
- the
booleanvalue read. - 抛出:
EOFException- if this file has reached the end.IOException- if an I/O error occurs.
-
readByte
public final byte readByte() throws IOExceptionReads a signed 8-bit value from this file. This method reads a byte from the file. If the byte read isb, where0 <= b <= 255, then the result is:(byte)(b)- 指定者:
readByte在接口中DataInput- 返回:
- the next byte of this file as a signed 8-bit
byte. - 抛出:
EOFException- if this file has reached the end.IOException- if an I/O error occurs.
-
readUnsignedByte
public final int readUnsignedByte() throws IOExceptionReads an unsigned 8-bit number from this file. This method reads a byte from this file and returns that byte. This method blocks until the byte is read, the end of the stream is detected, or an exception is thrown.- 指定者:
readUnsignedByte在接口中DataInput- 返回:
- the next byte of this file, interpreted as an unsigned 8-bit number.
- 抛出:
EOFException- if this file has reached the end.IOException- if an I/O error occurs.
-
readShort
public final short readShort() throws IOExceptionReads a signed 16-bit number from this file. The method reads 2 bytes from this file. If the two bytes read, in order, areb1andb2, where each of the two values is between0and255, inclusive, then the result is equal to:(short)((b1 << 8) | b2)- 指定者:
readShort在接口中DataInput- 返回:
- the next two bytes of this file, interpreted as a signed 16-bit number.
- 抛出:
EOFException- if this file reaches the end before reading two bytes.IOException- if an I/O error occurs.
-
readShort
public final void readShort(short[] pa, int start, int n) throws IOExceptionRead an array of shorts- 参数:
pa- read into this arraystart- starting at pa[start]n- read this many elements- 抛出:
IOException- on read error
-
readUnsignedShort
public final int readUnsignedShort() throws IOExceptionReads an unsigned 16-bit number from this file. This method reads two bytes from the file. If the bytes read, in order, areb1andb2, where0 <= b1, b2 <= 255, then the result is equal to:(b1 << 8) | b2- 指定者:
readUnsignedShort在接口中DataInput- 返回:
- the next two bytes of this file, interpreted as an unsigned 16-bit integer.
- 抛出:
EOFException- if this file reaches the end before reading two bytes.IOException- if an I/O error occurs.
-
readUnsignedInt
public final long readUnsignedInt() throws IOException- 抛出:
IOException
-
readChar
public final char readChar() throws IOExceptionReads a Unicode character from this file. This method reads two bytes from the file. If the bytes read, in order, areb1andb2, where0 <= b1, b2 <= 255, then the result is equal to:(char)((b1 << 8) | b2)- 指定者:
readChar在接口中DataInput- 返回:
- the next two bytes of this file as a Unicode character.
- 抛出:
EOFException- if this file reaches the end before reading two bytes.IOException- if an I/O error occurs.
-
readInt
public final int readInt() throws IOExceptionReads a signed 32-bit integer from this file. This method reads 4 bytes from the file. If the bytes read, in order, areb1,b2,b3, andb4, where0 <= b1, b2, b3, b4 <= 255, then the result is equal to:(b1 << 24) | (b2 << 16) + (b3 << 8) + b4- 指定者:
readInt在接口中DataInput- 返回:
- the next four bytes of this file, interpreted as an
int. - 抛出:
EOFException- if this file reaches the end before reading four bytes.IOException- if an I/O error occurs.
-
readIntUnbuffered
public final int readIntUnbuffered(long pos) throws IOExceptionRead an integer at the given position, bypassing all buffering.- 参数:
pos- read a byte at this position- 返回:
- The int that was read
- 抛出:
IOException- if an I/O error occurs.
-
readInt
public final void readInt(int[] pa, int start, int n) throws IOExceptionRead an array of ints- 参数:
pa- read into this arraystart- starting at pa[start]n- read this many elements- 抛出:
IOException- on read error
-
readLong
public final long readLong() throws IOExceptionReads a signed 64-bit integer from this file. This method reads eight bytes from the file. If the bytes read, in order, areb1,b2,b3,b4,b5,b6,b7, andb8,where:0 <= b1, b2, b3, b4, b5, b6, b7, b8 <=255,
This method blocks until the eight bytes are read, the end of the stream is detected, or an exception is thrown.((long)b1 << 56) + ((long)b2 << 48) + ((long)b3 << 40) + ((long)b4 << 32) + ((long)b5 << 24) + ((long)b6 << 16) + ((long)b7 << 8) + b8- 指定者:
readLong在接口中DataInput- 返回:
- the next eight bytes of this file, interpreted as a
long. - 抛出:
EOFException- if this file reaches the end before reading eight bytes.IOException- if an I/O error occurs.
-
readLong
public final void readLong(long[] pa, int start, int n) throws IOExceptionRead an array of longs- 参数:
pa- read into this arraystart- starting at pa[start]n- read this many elements- 抛出:
IOException- on read error
-
readFloat
public final float readFloat() throws IOExceptionReads afloatfrom this file. This method reads anintvalue as if by thereadIntmethod and then converts thatintto afloatusing theintBitsToFloatmethod in classFloat. This method blocks until the four bytes are read, the end of the stream is detected, or an exception is thrown.- 指定者:
readFloat在接口中DataInput- 返回:
- the next four bytes of this file, interpreted as a
float. - 抛出:
EOFException- if this file reaches the end before reading four bytes.IOException- if an I/O error occurs.- 另请参阅:
RandomAccessFile.readInt(),Float.intBitsToFloat(int)
-
readFloat
public final void readFloat(float[] pa, int start, int n) throws IOExceptionRead an array of floats- 参数:
pa- read into this arraystart- starting at pa[start]n- read this many elements- 抛出:
IOException- on read error
-
readDouble
public final double readDouble() throws IOExceptionReads adoublefrom this file. This method reads alongvalue as if by thereadLongmethod and then converts thatlongto adoubleusing thelongBitsToDoublemethod in classDouble. This method blocks until the eight bytes are read, the end of the stream is detected, or an exception is thrown.- 指定者:
readDouble在接口中DataInput- 返回:
- the next eight bytes of this file, interpreted as a
double. - 抛出:
EOFException- if this file reaches the end before reading eight bytes.IOException- if an I/O error occurs.- 另请参阅:
RandomAccessFile.readLong(),Double.longBitsToDouble(long)
-
readDouble
public final void readDouble(double[] pa, int start, int n) throws IOExceptionRead an array of doubles- 参数:
pa- read into this arraystart- starting at pa[start]n- read this many elements- 抛出:
IOException- on read error
-
readLine
public final String readLine() throws IOException
Reads the next line of text from this file. This method successively reads bytes from the file until it reaches the end of a line of text. A line of text is terminated by a carriage-return character ('\r'), a newline character ('\n'), a carriage-return character immediately followed by a newline character, or the end of the input stream. The line-terminating character(s), if any, are included as part of the string returned. This method blocks until a newline character is read, a carriage return and the byte following it are read (to see if it is a newline), the end of the stream is detected, or an exception is thrown.- 指定者:
readLine在接口中DataInput- 返回:
- the next line of text from this file.
- 抛出:
IOException- if an I/O error occurs.
-
readUTF
public final String readUTF() throws IOException
Reads in a string from this file. The string has been encoded using a modified UTF-8 format. The first two bytes are read as if byreadUnsignedShort. This value gives the number of following bytes that are in the encoded string, not the length of the resulting string. The following bytes are then interpreted as bytes encoding characters in the UTF-8 format and are converted into characters. This method blocks until all the bytes are read, the end of the stream is detected, or an exception is thrown.- 指定者:
readUTF在接口中DataInput- 返回:
- a Unicode string.
- 抛出:
EOFException- if this file reaches the end before reading all the bytes.IOException- if an I/O error occurs.UTFDataFormatException- if the bytes do not represent valid UTF-8 encoding of a Unicode string.- 另请参阅:
RandomAccessFile.readUnsignedShort()
-
readString
public String readString(int nbytes) throws IOException
Read a String of knoen length.- 参数:
nbytes- number of bytes to read- 返回:
- String wrapping the bytes.
- 抛出:
IOException- if an I/O error occurs.
-
writeBoolean
public final void writeBoolean(boolean v) throws IOExceptionWrites abooleanto the file as a 1-byte value. The valuetrueis written out as the value(byte)1; the valuefalseis written out as the value(byte)0.- 指定者:
writeBoolean在接口中DataOutput- 参数:
v- abooleanvalue to be written.- 抛出:
IOException- if an I/O error occurs.
-
writeBoolean
public final void writeBoolean(boolean[] pa, int start, int n) throws IOExceptionWrite an array of booleans- 参数:
pa- write from this arraystart- starting with this element in the arrayn- write this number of elements- 抛出:
IOException- on read error
-
writeByte
public final void writeByte(int v) throws IOExceptionWrites abyteto the file as a 1-byte value.- 指定者:
writeByte在接口中DataOutput- 参数:
v- abytevalue to be written.- 抛出:
IOException- if an I/O error occurs.
-
writeShort
public final void writeShort(int v) throws IOExceptionWrites ashortto the file as two bytes, high byte first.- 指定者:
writeShort在接口中DataOutput- 参数:
v- ashortto be written.- 抛出:
IOException- if an I/O error occurs.
-
writeShort
public final void writeShort(short[] pa, int start, int n) throws IOExceptionWrite an array of shorts- 参数:
pa- write from this arraystart- starting with this element in the arrayn- this number of elements- 抛出:
IOException- on read error
-
writeChar
public final void writeChar(int v) throws IOExceptionWrites acharto the file as a 2-byte value, high byte first.- 指定者:
writeChar在接口中DataOutput- 参数:
v- acharvalue to be written.- 抛出:
IOException- if an I/O error occurs.
-
writeChar
public final void writeChar(char[] pa, int start, int n) throws IOExceptionWrite an array of chars- 参数:
pa- write from this arraystart- starting with this element in the arrayn- this number of elements- 抛出:
IOException- on read error
-
writeInt
public final void writeInt(int v) throws IOExceptionWrites anintto the file as four bytes, high byte first.- 指定者:
writeInt在接口中DataOutput- 参数:
v- anintto be written.- 抛出:
IOException- if an I/O error occurs.
-
writeInt
public final void writeInt(int[] pa, int start, int n) throws IOExceptionWrite an array of ints- 参数:
pa- write from this arraystart- starting with this element in the arrayn- write this number of elements- 抛出:
IOException- on read error
-
writeLong
public final void writeLong(long v) throws IOExceptionWrites alongto the file as eight bytes, high byte first.- 指定者:
writeLong在接口中DataOutput- 参数:
v- alongto be written.- 抛出:
IOException- if an I/O error occurs.
-
writeLong
public final void writeLong(long[] pa, int start, int n) throws IOExceptionWrite an array of longs- 参数:
pa- write from this arraystart- starting with this element in the arrayn- write this number of elements- 抛出:
IOException- on read error
-
writeFloat
public final void writeFloat(float v) throws IOExceptionConverts the float argument to anintusing thefloatToIntBitsmethod in classFloat, and then writes thatintvalue to the file as a 4-byte quantity, high byte first.- 指定者:
writeFloat在接口中DataOutput- 参数:
v- afloatvalue to be written.- 抛出:
IOException- if an I/O error occurs.- 另请参阅:
Float.floatToIntBits(float)
-
writeFloat
public final void writeFloat(float[] pa, int start, int n) throws IOExceptionWrite an array of floats- 参数:
pa- write from this arraystart- starting with this element in the arrayn- write this number of elements- 抛出:
IOException- on read error
-
writeDouble
public final void writeDouble(double v) throws IOExceptionConverts the double argument to alongusing thedoubleToLongBitsmethod in classDouble, and then writes thatlongvalue to the file as an 8-byte quantity, high byte first.- 指定者:
writeDouble在接口中DataOutput- 参数:
v- adoublevalue to be written.- 抛出:
IOException- if an I/O error occurs.- 另请参阅:
Double.doubleToLongBits(double)
-
writeDouble
public final void writeDouble(double[] pa, int start, int n) throws IOExceptionWrite an array of doubles- 参数:
pa- write from this arraystart- starting with this element in the arrayn- write this number of elements- 抛出:
IOException- on read error
-
writeBytes
public final void writeBytes(String s) throws IOException
Writes the string to the file as a sequence of bytes. Each character in the string is written out, in sequence, by discarding its high eight bits.- 指定者:
writeBytes在接口中DataOutput- 参数:
s- a string of bytes to be written.- 抛出:
IOException- if an I/O error occurs.
-
writeBytes
public final void writeBytes(char[] b, int off, int len) throws IOExceptionWrites the character array to the file as a sequence of bytes. Each character in the string is written out, in sequence, by discarding its high eight bits.- 参数:
b- a character array of bytes to be written.off- the index of the first character to write.len- the number of characters to write.- 抛出:
IOException- if an I/O error occurs.
-
writeChars
public final void writeChars(String s) throws IOException
Writes a string to the file as a sequence of characters. Each character is written to the data output stream as if by thewriteCharmethod.- 指定者:
writeChars在接口中DataOutput- 参数:
s- aStringvalue to be written.- 抛出:
IOException- if an I/O error occurs.- 另请参阅:
RandomAccessFile.writeChar(int)
-
writeUTF
public final void writeUTF(String str) throws IOException
Writes a string to the file using UTF-8 encoding in a machine-independent manner. First, two bytes are written to the file as if by thewriteShortmethod giving the number of bytes to follow. This value is the number of bytes actually written out, not the length of the string. Following the length, each character of the string is output, in sequence, using the UTF-8 encoding for each character.- 指定者:
writeUTF在接口中DataOutput- 参数:
str- a string to be written.- 抛出:
IOException- if an I/O error occurs.
-
toString
public String toString()
Create a string representation of this object.
-
searchForward
public boolean searchForward(KMPMatch match, int maxBytes) throws IOException
Search forward from the current pos, looking for a match.- 参数:
match- the match youre looking for.maxBytes- maximum number of bytes to search. use -1 for all- 返回:
- true if found, file position will be at the start of the match.
- 抛出:
IOException- on read error
-
-