# Java.io.RandomAccessFile类 - Java.io包
**Java.io.RandomAccessFile **类文件的行为就像一个大数组存储在文件系统中的字节。这个类的实例支持读取和写入随机访问文件。
## 类声明
以下是java.io.RandomAccessFile类的声明:
```
public class RandomAccessFile
extends Object
implements DataOutput, DataInput, Closeable
```
## 类构造函数
| S.N. | 构造函数 & 描述 |
| --- | --- |
| 1 | **RandomAccessFile(File file, String mode) ** 这将创建一个随机访问文件流来读取,并选择性地写入,由File参数指定的文件。 |
| 2 | **RandomAccessFile(File file, String mode) ** 这将创建一个随机访问文件流来读取,并选择性地写入,具有指定名称的文件。 |
## 类方法
| S.N. | 方法 & 描述 |
| --- | --- |
| 1 | [void close() ](http://www.yiibai.com/java/io/randomaccessfile_close.html) 此方法关闭此随机存取文件流并释放与该流关联的所有系统资源。 |
| 2 | [FileChannel getChannel() ](http://www.yiibai.com/java/io/randomaccessfile_getchannel.html) 此方法返回与此文件关联的唯一文件通道对象。 |
| 3 | [FileDescriptor getFD() ](http://www.yiibai.com/java/io/randomaccessfile_getfd.html) 此方法返回与此流关联的不透明文件描述符对象。 |
| 4 | [long getFilePointer() ](http://www.yiibai.com/java/io/randomaccessfile_getfilepointer.html) 此方法返回当前在此文件中的偏移。 |
| 5 | [long length() ](http://www.yiibai.com/java/io/randomaccessfile_length.html) 这个方法返回当前文件的长度。 |
| 6 | [int read() ](http://www.yiibai.com/java/io/randomaccessfile_read.html) 此方法读取数据从该文件一个字节。 |
| 7 | [int read(byte[] b) ](http://www.yiibai.com/java/io/randomaccessfile_read_byte.html) 此方法读取为从该文件b.length个数据字节为字节数组。 |
| 8 | [int read(byte[] b, int off, int len) ](http://www.yiibai.com/java/io/randomaccessfile_read_byte_len.html) 此方法读取为从该文件len个字节数据到一个字节数组。 |
| 9 | [boolean readBoolean() ](http://www.yiibai.com/java/io/randomaccessfile_readboolean.html) 此方法读取该文件一个布尔值。 |
| 10 | [byte readByte() ](http://www.yiibai.com/java/io/randomaccessfile_readbyte.html) 此方法从该文件读取有符号8位的值。 |
| 11 | [char readChar() ](http://www.yiibai.com/java/io/randomaccessfile_readchar.html) 此方法从文件读取一个字符。 |
| 12 | [double readDouble() ](http://www.yiibai.com/java/io/randomaccessfile_readdouble.html) 此方法从文件读取一个double数。 |
| 13 | [float readFloat() ](http://www.yiibai.com/java/io/randomaccessfile_readfloat.html) 此方法从文件读取一个浮点数。 |
| 14 | [void readFully(byte[] b) ](http://www.yiibai.com/java/io/randomaccessfile_readfully_byte.html) 此方法读取该文件b.length个字节到字节数组,并从当前文件指针。 |
| 15 | [void readFully(byte[] b, int off, int len) ](http://www.yiibai.com/java/io/randomaccessfile_readfully_byte_len.html) 此方法读取这个文件正好len个字节到字节数组,并从当前文件指针。 |
| 16 | [int readInt() ](http://www.yiibai.com/java/io/randomaccessfile_readint.html) 此方法从该文件中读取一个有符号的32位整数。 |
| 17 | [String readLine() ](http://www.yiibai.com/java/io/randomaccessfile_readline.html) 此方法从该文件中读取文本的下一行。 |
| 18 | [long readLong() ](http://www.yiibai.com/java/io/randomaccessfile_readlong.html) 此方法从该文件中读取一个有符号的64位整数。 |
| 19 | [short readShort() ](http://www.yiibai.com/java/io/randomaccessfile_readshort.html) 此方法从该文件中读取一个有符号的16位数。 |
| 20 | [int readUnsignedByte() ](http://www.yiibai.com/java/io/randomaccessfile_readunsignedbyte.html) 此方法从该文件中读取一个无符号的八位数。 |
| 21 | [int readUnsignedShort() ](http://www.yiibai.com/java/io/randomaccessfile_readunsignedshort.html) 此方法从该文件中读取一个无符号的16位数。 |
| 22 | [String readUTF() ](http://www.yiibai.com/java/io/randomaccessfile_readutf.html) 从这个文件中的字符串此方法读取。 |
| 23 | [void seek(long pos) ](http://www.yiibai.com/java/io/randomaccessfile_seek.html) 此方法设置文件指针偏移量,从这个文件开始测量,进行下一个读或写操作发生。 |
| 24 | [void setLength(long newLength) ](http://www.yiibai.com/java/io/randomaccessfile_setlength.html) 此方法设置此文件的长度。 |
| 25 | [int skipBytes(int n) ](http://www.yiibai.com/java/io/randomaccessfile_skipbytes.html) 此方法尝试跳过n个字节的输入丢弃跳过的字节。 |
| 26 | [void write(byte[] b) ](http://www.yiibai.com/java/io/randomaccessfile_write_byte.html) 此方法写入b.length个字节从指定的字节数组到该文件,并从当前文件指针。 |
| 27 | [void write(byte[] b, int off, int len) ](http://www.yiibai.com/java/io/randomaccessfile_write_byte_len.html) 此方法从指定的字节数组开始到该文件偏移量off写入len字节。 |
| 28 | [void write(int b) ](http://www.yiibai.com/java/io/randomaccessfile_write.html) 此方法写入指定的字节写入此文件。 |
| 29 | [void writeBoolean(boolean v) ](http://www.yiibai.com/java/io/randomaccessfile_writeboolean.html) 此方法写入一个布尔值,该文件为一个字节的值。 |
| 30 | [void writeByte(int v) ](http://www.yiibai.com/java/io/randomaccessfile_writebyte.html) 此方法写入一个字节到文件作为一个单字节值。 |
| 31 | [void writeBytes(String s) ](http://www.yiibai.com/java/io/randomaccessfile_writebytes.html) 此方法写入字符串到文件为一个字节序列。 |
| 32 | [void writeChar(int v) ](http://www.yiibai.com/java/io/randomaccessfile_writechar.html) 此方法写入一个字符的文件作为一个双字节值,高字节在前。 |
| 33 | [void writeChars(String s) ](http://www.yiibai.com/java/io/randomaccessfile_writechars.html) 此方法将一个字符串写入该文件作为一个字符序列。 |
| 34 | [void writeDouble(double v) ](http://www.yiibai.com/java/io/randomaccessfile_writedouble.html) 此方法double参数转换为long使用doubleToLongBits方法在类Double,然后写到long值的文件作为八字节数量,高字节在前。 |
| 35 | [void writeFloat(float v) ](http://www.yiibai.com/java/io/randomaccessfile_writefloat.html) 此方法float参数转换为使用floatToIntBits方法在类Float一个int,然后写到int值,以该文件为一个四字节数量,高字节在前。 |
| 36 | [void writeInt(int v) ](http://www.yiibai.com/java/io/randomaccessfile_writeint.html) 此方法写入一个int到文件为四个字节,高字节在前。 |
| 37 | [void writeLong(long v) ](http://www.yiibai.com/java/io/randomaccessfile_writelong.html) 此方法写入一个长的文件作为八个字节,高字节在前。 |
| 38 | [void writeShort(int v) ](http://www.yiibai.com/java/io/randomaccessfile_writeshort.html) 此方法写入一个短的文件为两个字节,高字节在前。 |
| 39 | [void writeUTF(String str) ](http://www.yiibai.com/java/io/randomaccessfile_writeutf.html) 这种方法将一个字符串写入使用经修订的UTF-8编码以与机器无关的方式的文件。 |
## 方法继承
这个类从以下类继承的方法:
* Java.io.Object