Java的RandomAccessFile提供对文件的读写功能,与普通的输入输出流不一样的是RamdomAccessFile可以任意的访问文件的任何地方。这就是“Random”的意义所在。
RandomAccessFile的对象包含一个记录指针,用于标识当前流的读写位置,这个位置可以向前移动,也可以向后移动。RandomAccessFile包含两个方法来操作文件记录指针。
long getFilePoint():记录文件指针的当前位置。
void seek(long pos):将文件记录指针定位到pos位置。
RandomAccessFile包含InputStream的三个read方法,也包含OutputStream的三个write方法。同时RandomAccessFile还包含一系列的readXxx和writeXxx方法完成输入输出。
操作实例:
package day01;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
/**
* RandomAccessFile用于读写文件的类
* @author Administrator
*
*/
public class RandomAccessFileDemo {
public static void main(String[] args) throws IOException {
/**
* 对项目根目录下一个名为demo.dat
* 的文件内容进行读写
*/
//创建RandomAceessFile对象
RandomAccessFile raf=new RandomAccessFile("./demo.dat","rw");
/**
* void write(int n)
* 写出给定int值得“低八位”
* 只写一个字节
*/
int num=-10;
raf.write(num);
/**
* 使用IO之后,要关闭
*/
raf.close();
System.out.println(Integer.toBinaryString(num));
}
}