I/O 输入与输出(2) -- RandomAccessFile类

来源:互联网 发布:无锡网络作协会员 编辑:程序博客网 时间:2024/05/28 17:07

RondomAccessFile随机访问类,提供了众多的文件访问方法,并且支持“随机访问”的方式,也就是可以跳转到文件的任意位置开始读写数据。

 

该类的示例对象中有一个指示器,你可以理解为数组的索引,RandomAccessFile的读写操作都是从指示器所指示的当前位置开始读写,每次读写操作之后,文件位置的指示器将指向N个字节数的下一个字节数;新建RandomAccessFile对象的文件位置指针位于文件的开头处。通过该类,你可以实现诸如断点续传、多线程等程序。

 

另外,RandomAccessFile类在随机(相对顺序而言)读写等长记录格式的文件时候很大的优势。

 

需要注意的是RandomAccessFile类仅限于操作文件,不能访问其它的IO设备,如网络等。

 

在创建RandomAccessFile实例对象的时候,可以传递给构造函数的参数来指定文件是以只读的方式还是以读写的方式打开,如果以只读的方式打开,那就不能够向文件中写入数据。

new RandomAccessFile(fileName, "w"); //读写方式
new RandomAccessFile(fileName, "r"); //
只读方式

 

下面来看一个例子:往文件中写入三名学生的信息,每个学生含有姓名和年龄两个字段,然后按照第二名,第一名,第三名的先后顺序读出员工信息。

Student.java

 

再定义运行类:

RandomAccessFile.java

 

 

版权声明: 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。