- java.lang.Object
-
- java.io.RandomAccessFile
-
- 实现的所有接口
-
Closeable
,DataInput
,DataOutput
,AutoCloseable
public class RandomAccessFile extends Object implements DataOutput, DataInput, Closeable
此类的实例支持读取和写入随机访问文件。 随机访问文件的行为类似于存储在文件系统中的大量字节。 有一种游标或索引到隐含数组中,称为文件指针 ; 输入操作从文件指针开始读取字节,并使文件指针超过读取的字节数。 如果在读/写模式下创建随机访问文件,则输出操作也可用; 输出操作从文件指针开始写入字节,并使文件指针超过写入的字节。 写入隐含数组当前末尾的输出操作会导致数组被扩展。 文件指针可以通过读取getFilePointer
方法和由设置seek
方法。通常,对于此类中的所有读取例程,如果在读取了所需的字节数之前达到文件结尾,则抛出
EOFException
(这是一种IOException
)。 如果由于文件结尾之外的任何原因无法读取任何字节,则抛出IOException
以外的EOFException
。 特别是,如果流已经关闭,IOException
可能抛出IOException
。- 从以下版本开始:
- 1.0
-
-
构造方法摘要
构造方法 构造器 描述 RandomAccessFile(File file, String mode)
创建随机访问文件流,以便从File
参数指定的文件中读取,也可以选择写入。RandomAccessFile(String name, String mode)
创建随机访问文件流,以便从具有指定名称的文件进行读取,并可选择写入该文件。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 void
close()
关闭此随机访问文件流并释放与该流关联的所有系统资源。FileChannel
getChannel()
返回与此文件关联的唯一FileChannel
对象。FileDescriptor
getFD()
返回与此流关联的opaque文件描述符对象。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
写入文件作为单字节值。void
writeByte(int v)
将byte
写入文件作为单字节值。void
writeBytes(String s)
将字符串作为字节序列写入文件。void
writeChar(int v)
将char
作为双字节值写入文件,高字节优先。void
writeChars(String s)
将字符串作为字符序列写入文件。void
writeDouble(double v)
双参数传递给转换long
使用doubleToLongBits
方法在类Double
,然后写入该long
值到该文件作为一个八字节的数量,高字节。void
writeFloat(float v)
浮子参数的转换int
使用floatToIntBits
方法在类Float
,然后写入该int
值到该文件作为一个四字节数量,高字节。void
writeInt(int v)
将int
写入文件为四个字节,高字节优先。void
writeLong(long v)
将long
写入文件为8个字节,高字节优先。void
writeShort(int v)
将short
写入文件为两个字节,高字节优先。void
writeUTF(String str)
使用 modified UTF-8编码以与机器无关的方式将字符串写入文件。
-
-
-
构造方法详细信息
-
RandomAccessFile
public RandomAccessFile(String name, String mode) throws FileNotFoundException
创建随机访问文件流,以便从具有指定名称的文件进行读取,并可选择写入该文件。 创建新的FileDescriptor
对象以表示与文件的连接。mode
参数指定用于打开文件的访问模式。 允许的值及其含义如RandomAccessFile(File,String)
构造函数所指定。如果有安全管理器,则使用
name
参数作为其参数调用其checkRead
方法,以查看是否允许对文件进行读访问。 如果模式允许写入,则还会使用name
参数作为参数调用安全管理器的checkWrite
方法,以查看是否允许对文件进行写访问。- 参数
-
name
- 依赖于系统的文件名 -
mode
- 访问 mode - 异常
-
IllegalArgumentException
-如果模式参数不等于之一"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"
Open for reading only. Invoking any of thewrite
methods of the resulting object will cause anIOException
to be thrown."rw"
Open for reading and writing. If the file does not already exist then an attempt will be made to create it."rws"
Open for reading and writing, as with"rw"
, and also require that every update to the file's content or metadata be written synchronously to the underlying storage device."rwd"
Open for reading and writing, as with"rw"
, and also require that every update to the file's content be written synchronously to the underlying storage device."rws"
和"rwd"
模式的工作方式与FileChannel
类的force(boolean)
方法非常相似,分别传递true
和false
参数,但它们始终适用于每个I / O操作,因此通常更有效。 如果文件驻留在本地存储设备上,那么当调用此类的方法返回时,可以保证该调用对该文件所做的所有更改都将写入该设备。 这对于确保在系统崩溃时不会丢失关键信息非常有用。 如果文件不驻留在本地设备上,则不会进行此类保证。"rwd"
模式可用于减少执行的I / O操作数。 使用"rwd"
只需要将文件内容的更新写入存储; 使用"rws"
需要更新文件的内容及其要写入的元数据,这通常需要至少一个低级I / O操作。如果有安全管理器,则调用其
checkRead
方法,并将file
参数的路径名作为其参数,以查看是否允许对该文件进行读访问。 如果模式允许写入,则还会使用path参数调用安全管理器的checkWrite
方法,以查看是否允许对文件进行写访问。- 参数
-
file
- 文件对象 -
mode
- 访问模式,如 above所述 - 异常
-
IllegalArgumentException
-如果模式参数不等于之一"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
返回与此流关联的opaque文件描述符对象。- 结果
- 与此流关联的文件描述符对象。
- 异常
-
IOException
- 如果发生I / O错误。 - 另请参见:
-
FileDescriptor
-
getChannel
public final FileChannel getChannel()
返回与此文件关联的唯一FileChannel
对象。返回通道的
position
将始终等于getFilePointer
方法返回的此对象的文件指针偏移量。 无论是显式地还是通过读取或写入字节,更改此对象的文件指针偏移量都将更改通道的位置,反之亦然。 通过此对象更改文件长度将更改通过文件通道看到的长度,反之亦然。- 结果
- 与此文件关联的文件通道
- 从以下版本开始:
- 1.4
-
read
public int read() throws IOException
从该文件中读取一个字节的数据。 该字节以0到255之间的整数形式返回(0x00-0x0ff
)。 如果尚未提供输入,此方法将阻止。虽然
RandomAccessFile
不是RandomAccessFile
的子类,InputStream
此方法的行为方式与407128533872的InputStream.read()
方法InputStream
。- 结果
-
数据的下一个字节,如果已到达文件的末尾,
-1
。 - 异常
-
IOException
- 如果发生I / O错误。 如果已达到文件结尾,则不会抛出。
-
read
public int read(byte[] b, int off, int len) throws IOException
从此文件读取最多len
字节的数据到一个字节数组。 此方法将阻塞,直到输入的至少一个字节可用。虽然
RandomAccessFile
不是RandomAccessFile
的子类,InputStream
此方法的行为方式与InputStream的InputStream.read(byte[], int, int)
方法InputStream
。- 参数
-
b
- 读取数据的缓冲区。 -
off
- 数据写入的数组b
中的起始偏移量。 -
len
- 读取的最大字节数。 - 结果
-
读入缓冲区的总字节数,如果由于文件末尾已到达而没有更多数据,
-1
。 - 异常
-
IOException
- 如果由于文件结尾以外的任何原因无法读取第一个字节,或者随机访问文件已关闭,或者发生了其他一些I / O错误。 -
NullPointerException
- 如果b
是null
。 -
IndexOutOfBoundsException
- 如果off
为负数,len
为负数,或len
大于b.length - off
-
read
public int read(byte[] b) throws IOException
从此文件读取最多b.length
字节的数据到一个字节数组。 此方法将阻塞,直到输入的至少一个字节可用。虽然
RandomAccessFile
不是RandomAccessFile
的子类,InputStream
此方法的行为方式与4071285469736的InputStream.read(byte[])
方法InputStream
。- 参数
-
b
- 读取数据的缓冲区。 - 结果
-
读入缓冲区的总字节数,如果没有更多数据,
-1
,因为已到达此文件的末尾。 - 异常
-
IOException
- 如果由于文件结尾之外的任何原因无法读取第一个字节,或者随机访问文件已关闭,或者出现其他一些I / O错误。 -
NullPointerException
- 如果b
是null
。
-
readFully
public final void readFully(byte[] b) throws IOException
从当前文件指针开始,将此文件中的b.length
字节读入字节数组。 此方法从文件中重复读取,直到读取所请求的字节数。 此方法将一直阻塞,直到读取所请求的字节数,检测到流的末尾或抛出异常。- Specified by:
-
readFully
在接口DataInput
- 参数
-
b
- 读取数据的缓冲区。 - 异常
-
NullPointerException
- 如果b
是null
。 -
EOFException
- 如果此文件在读取所有字节之前到达结尾。 -
IOException
- 如果发生I / O错误。
-
readFully
public final void readFully(byte[] b, int off, int len) throws IOException
从当前文件指针开始,将此文件中的len
字节精确读入字节数组。 此方法从文件中重复读取,直到读取所请求的字节数。 此方法将一直阻塞,直到读取所请求的字节数,检测到流的末尾或抛出异常。- Specified by:
-
readFully
在DataInput
- 参数
-
b
- 读取数据的缓冲区。 -
off
- 数据阵列b
的起始偏移量。 -
len
- 要读取的字节数。 - 异常
-
NullPointerException
- 如果b
是null
。 -
IndexOutOfBoundsException
- 如果off
为负数,则len
为负数,或len
为大于b.length - off
。 -
EOFException
- 如果此文件在读取所有字节之前到达结尾。 -
IOException
- 如果发生I / O错误。
-
skipBytes
public int skipBytes(int n) throws IOException
尝试跳过n
字节的输入,丢弃跳过的字节。该方法可以跳过一些较小数量的字节,可能为零。 这可能是由许多条件造成的; 在跳过
n
个字节之前到达文件n
只有一种可能性。 此方法永远不会抛出EOFException
。 返回跳过的实际字节数。 如果n
为负数,则不会跳过任何字节。- Specified by:
-
skipBytes
在DataInput
- 参数
-
n
- 要跳过的字节数。 - 结果
- 跳过的实际字节数。
- 异常
-
IOException
- 如果发生I / O错误。
-
write
public void write(int b) throws IOException
将指定的字节写入此文件。 写入从当前文件指针开始。- Specified by:
-
write
,接口DataOutput
- 参数
-
b
-byte
。 - 异常
-
IOException
- 如果发生I / O错误。
-
write
public void write(byte[] b) throws IOException
从当前文件指针开始,将指定字节数组中的b.length
字节写入此文件。- Specified by:
-
write
在接口DataOutput
- 参数
-
b
- 数据。 - 异常
-
IOException
- 如果发生I / O错误。
-
write
public void write(byte[] b, int off, int len) throws IOException
将从偏移量off
开始的指定字节数组中的len
字节写入此文件。- Specified by:
-
write
在DataOutput
- 参数
-
b
- 数据。 -
off
- 数据中的起始偏移量。 -
len
- 要写入的字节数。 - 异常
-
IOException
- 如果发生I / O错误。
-
getFilePointer
public long getFilePointer() throws IOException
返回此文件中的当前偏移量。- 结果
- 从文件开头的偏移量(以字节为单位),在该偏移量处发生下一次读取或写入。
- 异常
-
IOException
- 如果发生I / O错误。
-
seek
public void seek(long pos) throws IOException
设置从此文件的开头开始测量的文件指针偏移量,在该位置进行下一次读取或写入操作。 偏移量可以设置在文件末尾之外。 将偏移量设置为超出文件末尾不会更改文件长度。 只有在偏移量设置超出文件末尾后才能通过写入来改变文件长度。- 参数
-
pos
- 偏移位置,以文件开头的字节为单位,用于设置文件指针。 - 异常
-
IOException
- 如果pos
小于0
或者发生I / O错误。
-
length
public long length() throws IOException
返回此文件的长度。- 结果
- 此文件的长度,以字节为单位。
- 异常
-
IOException
- 如果发生I / O错误。
-
setLength
public void setLength(long newLength) throws IOException
设置此文件的长度。如果
length
方法返回的文件的当前长度大于newLength
参数,则文件将被截断。 在这种情况下,如果getFilePointer
方法返回的文件偏移量大于newLength
则在此方法返回后,偏移量将等于newLength
。如果
length
方法返回的文件当前长度小于newLength
参数,则文件将被扩展。 在这种情况下,未定义文件的扩展部分的内容。- 参数
-
newLength
- 文件的所需长度 - 异常
-
IOException
- 如果发生I / O错误 - 从以下版本开始:
- 1.2
-
close
public void close() throws IOException
关闭此随机访问文件流并释放与该流关联的所有系统资源。 关闭的随机访问文件无法执行输入或输出操作,无法重新打开。如果此文件具有关联的频道,则该频道也将关闭。
- Specified by:
-
close
在接口AutoCloseable
- Specified by:
-
close
在接口Closeable
- 异常
-
IOException
- 如果发生I / O错误。
-
readBoolean
public final boolean readBoolean() throws IOException
从此文件中读取boolean
。 此方法从当前文件指针开始从文件中读取单个字节。 值0
表示false
。 任何其他值代表true
。 此方法将阻塞,直到读取字节,检测到流的末尾或抛出异常。- Specified by:
-
readBoolean
,界面DataInput
- 结果
-
读取的值为
boolean
。 - 异常
-
EOFException
- 如果此文件已到达结尾。 -
IOException
- 如果发生I / O错误。
-
readByte
public final byte readByte() throws IOException
从该文件中读取带符号的8位值。 此方法从当前文件指针开始从文件中读取一个字节。 如果读取的字节是b
,其中0 <= b <= 255
,则结果为:(byte)(b)
此方法将阻塞,直到读取字节,检测到流的末尾或抛出异常。
- Specified by:
-
readByte
接口DataInput
- 结果
-
该文件的下一个字节为带符号的8位
byte
。 - 异常
-
EOFException
- 如果此文件已到达结尾。 -
IOException
- 如果发生I / O错误。
-
readUnsignedByte
public final int readUnsignedByte() throws IOException
从该文件中读取无符号的8位数。 此方法从当前文件指针开始从此文件读取一个字节,并返回该字节。此方法将阻塞,直到读取字节,检测到流的末尾或抛出异常。
- Specified by:
-
readUnsignedByte
,界面DataInput
- 结果
- 该文件的下一个字节,解释为无符号的8位数。
- 异常
-
EOFException
- 如果此文件已到达结尾。 -
IOException
- 如果发生I / O错误。
-
readShort
public final short readShort() throws IOException
从该文件中读取带符号的16位数字。 该方法从当前文件指针开始从该文件中读取两个字节。 如果按顺序读取的两个字节是b1
和b2
,其中两个值中的每一个都在0
和255
之间,则结果等于:(short)((b1 << 8) | b2)
此方法将阻塞,直到读取两个字节,检测到流的末尾,或者抛出异常。
- Specified by:
-
readShort
在接口DataInput
- 结果
- 此文件的后两个字节,解释为带符号的16位数字。
- 异常
-
EOFException
- 如果此文件在读取两个字节之前到达结尾。 -
IOException
- 如果发生I / O错误。
-
readUnsignedShort
public final int readUnsignedShort() throws IOException
从此文件中读取无符号的16位数字。 此方法从文件中读取两个字节,从当前文件指针开始。 如果按顺序读取的字节是b1
和b2
,其中0 <= b1, b2 <= 255
,则结果等于:(b1 << 8) | b2
此方法将阻塞,直到读取两个字节,检测到流的末尾,或者抛出异常。
- Specified by:
-
readUnsignedShort
在DataInput
- 结果
- 此文件的后两个字节,解释为无符号的16位整数。
- 异常
-
EOFException
- 如果此文件在读取两个字节之前到达结尾。 -
IOException
- 如果发生I / O错误。
-
readChar
public final char readChar() throws IOException
从此文件中读取字符。 此方法从文件中读取两个字节,从当前文件指针开始。 如果按顺序读取的字节是b1
和b2
,其中0 <= b1, b2 <= 255
,则结果等于:(char)((b1 << 8) | b2)
此方法将阻塞,直到读取两个字节,检测到流的末尾,或者抛出异常。
- Specified by:
-
readChar
在接口DataInput
- 结果
-
此文件的下两个字节,解释为
char
。 - 异常
-
EOFException
- 如果此文件在读取两个字节之前到达结尾。 -
IOException
- 如果发生I / O错误。
-
readInt
public final int readInt() throws IOException
从此文件中读取带符号的32位整数。 此方法从文件中读取4个字节,从当前文件指针开始。 如果读取的字节依次是b1
,b2
,b3
,和b4
,其中0 <= b1, b2, b3, b4 <= 255
,则结果等于:(b1 << 24) | (b2 << 16) + (b3 << 8) + b4
此方法将一直阻塞,直到读取四个字节,检测到流的末尾,或者抛出异常。
- Specified by:
-
readInt
接口DataInput
- 结果
-
此文件的下四个字节,解释为
int
。 - 异常
-
EOFException
- 如果此文件在读取四个字节之前到达结尾。 -
IOException
- 如果发生I / O错误。
-
readLong
public final long readLong() throws IOException
从此文件中读取带符号的64位整数。 此方法从文件中读取八个字节,从当前文件指针开始。 如果读取的字节依次是b1
,b2
,b3
,b4
,b5
,b6
,b7
和b8,
其中:0 <= b1, b2, b3, b4, b5, b6, b7, b8 <=255,
那么结果等于:
((long)b1 << 56) + ((long)b2 << 48) + ((long)b3 << 40) + ((long)b4 << 32) + ((long)b5 << 24) + ((long)b6 << 16) + ((long)b7 << 8) + b8
此方法将一直阻塞,直到读取了8个字节,检测到流的末尾,或者抛出异常。
- Specified by:
-
readLong
在DataInput
- 结果
-
此文件的下八个字节,解释为
long
。 - 异常
-
EOFException
- 如果此文件在读取八个字节之前到达结尾。 -
IOException
- 如果发生I / O错误。
-
readFloat
public final float readFloat() throws IOException
从此文件中读取float
。 此方法读取一个int
值,并从当前文件指针,就好像由readInt
方法,然后转换该int
为float
使用intBitsToFloat
在类方法Float
。此方法将一直阻塞,直到读取四个字节,检测到流的末尾,或者抛出异常。
- Specified by:
-
readFloat
在接口DataInput
- 结果
-
此文件的后四个字节,解释为
float
。 - 异常
-
EOFException
- 如果此文件在读取四个字节之前到达结尾。 -
IOException
- 如果发生I / O错误。 - 另请参见:
-
readInt()
,Float.intBitsToFloat(int)
-
readDouble
public final double readDouble() throws IOException
从此文件中读取double
。 此方法读取一个long
值,并从当前文件指针,就好像由readLong
方法,然后转换该long
为double
使用longBitsToDouble
在类方法Double
。此方法将一直阻塞,直到读取了8个字节,检测到流的末尾,或者抛出异常。
- Specified by:
-
readDouble
接口DataInput
- 结果
-
此文件的下八个字节,解释为
double
。 - 异常
-
EOFException
- 如果此文件在读取八个字节之前到达结尾。 -
IOException
- 如果发生I / O错误。 - 另请参见:
-
readLong()
,Double.longBitsToDouble(long)
-
readLine
public final String readLine() throws IOException
从此文件中读取下一行文本。 此方法从文件开始连续读取字节,从当前文件指针开始,直到它到达行终止符或文件末尾。 通过取字符的低八位的字节值并将字符的高八位设置为零,将每个字节转换为字符。 因此,此方法不支持完整的Unicode字符集。一行文本由回车字符(
'\r'
),换行符('\n'
),紧接着换行符的回车字符或文件末尾终止。 行终止字符将被丢弃,并且不会作为返回字符串的一部分包含在内。此方法将一直阻塞,直到读取换行符,读取回车符及其后面的字节(查看它是否为换行符),到达文件末尾或抛出异常。
- Specified by:
-
readLine
在接口DataInput
- 结果
- 此文件中的下一行文本,如果在读取一个字节之前遇到文件结尾,则返回null。
- 异常
-
IOException
- 如果发生I / O错误。
-
readUTF
public final String readUTF() throws IOException
从此文件中读取字符串。 该字符串已使用modified UTF-8格式进行编码。从当前文件指针开始读取前两个字节,就像
readUnsignedShort
。 此值给出编码字符串中的后续字节数,而不是结果字符串的长度。 然后将以下字节解释为以修改的UTF-8格式编码字符的字节,并将其转换为字符。此方法将阻塞,直到读取所有字节,检测到流的末尾,或者抛出异常。
- Specified by:
-
readUTF
在DataInput
- 结果
- Unicode字符串。
- 异常
-
EOFException
- 如果此文件在读取所有字节之前到达结尾。 -
IOException
- 如果发生I / O错误。 -
UTFDataFormatException
- 如果字节不表示Unicode字符串的有效修改UTF-8编码。 - 另请参见:
-
readUnsignedShort()
-
writeBoolean
public final void writeBoolean(boolean v) throws IOException
将boolean
写入文件作为单字节值。 值true
写为值(byte)1
; 值false
被写为值(byte)0
。 写入从文件指针的当前位置开始。- Specified by:
-
writeBoolean
在接口DataOutput
- 参数
-
v
- 要写入的值boolean
。 - 异常
-
IOException
- 如果发生I / O错误。
-
writeByte
public final void writeByte(int v) throws IOException
将byte
写入文件作为单字节值。 写入从文件指针的当前位置开始。- Specified by:
-
writeByte
,界面DataOutput
- 参数
-
v
- 要写入的值byte
。 - 异常
-
IOException
- 如果发生I / O错误。
-
writeShort
public final void writeShort(int v) throws IOException
将short
写为两个字节,高字节优先。 写入从文件指针的当前位置开始。- Specified by:
-
writeShort
,界面DataOutput
- 参数
-
v
- 待写的short
。 - 异常
-
IOException
- 如果发生I / O错误。
-
writeChar
public final void writeChar(int v) throws IOException
将char
作为双字节值写入文件,高字节优先。 写入从文件指针的当前位置开始。- Specified by:
-
writeChar
在接口DataOutput
- 参数
-
v
- 要写入的值char
。 - 异常
-
IOException
- 如果发生I / O错误。
-
writeInt
public final void writeInt(int v) throws IOException
将int
写入四个字节,高字节优先。 写入从文件指针的当前位置开始。- Specified by:
-
writeInt
接口DataOutput
- 参数
-
v
-int
。 - 异常
-
IOException
- 如果发生I / O错误。
-
writeLong
public final void writeLong(long v) throws IOException
将long
写为8字节,高字节优先。 写入从文件指针的当前位置开始。- Specified by:
-
writeLong
,界面DataOutput
- 参数
-
v
- 要编写的long
。 - 异常
-
IOException
- 如果发生I / O错误。
-
writeFloat
public final void writeFloat(float v) throws IOException
浮子参数的转换int
使用floatToIntBits
方法在类Float
,然后写入该int
值到该文件作为一个四字节数量,高字节。 写入从文件指针的当前位置开始。- Specified by:
-
writeFloat
在DataOutput
- 参数
-
v
- 要写入的值float
。 - 异常
-
IOException
- 如果发生I / O错误。 - 另请参见:
-
Float.floatToIntBits(float)
-
writeDouble
public final void writeDouble(double v) throws IOException
双参数传递给转换long
使用doubleToLongBits
方法在类Double
,然后写入该long
值到该文件作为一个八字节的数量,高字节。 写入从文件指针的当前位置开始。- Specified by:
-
writeDouble
在界面DataOutput
- 参数
-
v
- 要写入的值double
。 - 异常
-
IOException
- 如果发生I / O错误。 - 另请参见:
-
Double.doubleToLongBits(double)
-
writeBytes
public final void writeBytes(String s) throws IOException
将字符串作为字节序列写入文件。 通过丢弃其高8位,按顺序写出字符串中的每个字符。 写入从文件指针的当前位置开始。- Specified by:
-
writeBytes
在接口DataOutput
- 参数
-
s
- 要写入的字节串。 - 异常
-
IOException
- 如果发生I / O错误。
-
writeChars
public final void writeChars(String s) throws IOException
将字符串作为字符序列写入文件。 每个字符都被写入数据输出流,就像通过writeChar
方法一样。 写入从文件指针的当前位置开始。- Specified by:
-
writeChars
,界面DataOutput
- 参数
-
s
- 要写入的值String
。 - 异常
-
IOException
- 如果发生I / O错误。 - 另请参见:
-
writeChar(int)
-
writeUTF
public final void writeUTF(String str) throws IOException
使用modified UTF-8编码以与机器无关的方式将字符串写入文件。首先,从当前文件指针开始,将两个字节写入文件,就像
writeShort
方法一样,给出了要遵循的字节数。 该值是实际写出的字节数,而不是字符串的长度。 在长度之后,使用每个字符的修改的UTF-8编码依次输出字符串的每个字符。- Specified by:
-
writeUTF
在界面DataOutput
- 参数
-
str
- 要写入的字符串。 - 异常
-
IOException
- 如果发生I / O错误。
-
-