RandomAccessFile随机访问文件,自身具备读写的方法,通过skipBytes(int x),seek(int x)调整文件指针来达到随机访问,skipBytes(int x)跳过指定的字节数,只能往文件尾移动,seek(int x)可以前后调整,按指定位置书写,且覆盖原有数据。getFilePointer()读取文件指针。该类不是IO体系中子类,而是直接继承自Object,但是它是IO包中成员,因为它具备读和写功能。RandomAccessFile类内部封装了字节输入流、字节输出流和一个数组,通过指针对数组中的元素进行操作来达到随即访问的效果,
RandomAccessFile类只能操作文件,在构造函数中可以指定操作文件的模式:只读r,读写rw等。如果模式为r,不会创建文件,会去读取一个已存在的文件,如果该文件不存在,则会出现异常。如果模式为rw,要操作的文件不存在则自动创建。readXXX()读某个基本数据类型,readLine()读取一行数据,writeXXX()写入某个基本数据类型 。
该类可以实现分段读写,通过调整文件指针,使多个线程负责每一段,互相不冲突,这就是下载软件的工作原理。
|
|