关闭

RandomAccessFile的使用

246人阅读 评论(0) 收藏 举报

首先,RandomAccessFile是一种流,一种可随机访问的文件流。

RandomAccessFile不同于其他IO流按顺序的访问磁盘文件,RandomAccessFile支持对磁盘文件的随机访问,这种随机性是由RandomAccessFile中的 文件指针来决定的。随机访问文件的行为类似存储在文件系统中的一个大型 byte 数组。存在指向该隐含数组的光标或索引,称为文件指针;输入操作从文件指针开始读取字节,并随着对字节的读取而前移此文件指针。如果随机访问文件以读取/写入模式创建,则输出操作也可用;输出操作从文件指针开始写入字节,并随着对字节的写入而前移此文件指针。写入隐含数组的当前末尾之后的输出操作导致该数组扩展。该文件指针可以通过 getFilePointer 方法读取,并通过 seek 方法设置。

使用RandomAccessFile应该了解和注意:

1、由于RandomAccessFile访问文件的行为类似操作存储在文件系统中的一个大型byte数组,因此RandomAccessFile适合操作二进制文件。对于其他格式的文件建议使用其他流进行 操作,不要滥用RandomAccessFile。

2、打开一个RandomAccessFile流相当于同时打开了一个文件输入流和一个文件输出流,输入和输出行为可以同时进行。

3、当要改变RandomAccessFile中的文件指针,要尽量避免使用seek方法,因为seek方法相当消耗性能,可以使用skipBytes(int n)方法替代。


使用RandomAccessFile操作带中文的文件可能会出现中文乱码,解决方案:

1、读:read(byte[] b);

2、写:write(byte[] b);

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2221次
    • 积分:86
    • 等级:
    • 排名:千里之外
    • 原创:4篇
    • 转载:6篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档