RandomAccessFile
来源:互联网 发布:软件工程软件开发方向 编辑:程序博客网 时间:2024/06/02 01:59
简述
RandomAccessFile的父类是Object,用来读取保存数据记录文件的。可以使用seek方法来访问记录,读写文件。这些数据记录大小可以不相同,当时大小和位置需要是明确的。
RandomAccessFile是不属于InputStream和OutputStream类系的。实际上,除了实现DataInput和DataOutput接口之外(DataInputStream和DataOutputStream也实现了这两个接口),它和这两个类系毫不相干,甚至都没有用InputStream和OutputStream已经准备好的功能。它是一个完全独立的类,所有方法(绝大多数都只属于它自己)都是从零开始写的。这可能是因为RandomAccessFile能在文件里面前后移动,所以它的行为与其它的I/O类有些根本性的不同。总而言之,它是一个直接继承Object的,独立的类。
工作方式
基本上,RandomAccessFile的工作方式是,把DataInputStream和DataOutputStream粘起来,再加上它自己的一些方法,比如定位用的getFilePointer( ),在文件里移动用的seek( ),以及判断文件大小的length( )。此外,它的构造函数还要一个表示以只读方式(“r”),还是以读写方式(“rw”)打开文件的参数 (和C的fopen( )一模一样)。它不支持只写文件,从这一点上看,假如RandomAccessFile继承了DataInputStream,它也许会干得更好。
只有RandomAccessFile才有seek方法,而这个方法也只适用于文件。BufferedInputStream有一个mark( )方法,你可以用它来设定标记(把结果保存在一个内部变量里),然后再调用reset( )返回这个位置,但是它的功能太弱了,而且也不怎么实用。
RandomAccessFile的绝大多数功能,如果不是全部的话,已经被JDK1.4的nio的”内存映射文件(memory-mapped files)”给取代了。
- RandomAccessFile
- randomAccessFile
- RandomAccessFile
- randomAccessFile
- RandomAccessFile
- RandomAccessFile
- RandomAccessFile
- RandomAccessFile
- RandomAccessFile
- RandomAccessFile
- RandomAccessFile
- RandomAccessFile
- RandomAccessFile
- RandomAccessFile
- RandomAccessFile
- RandomAccessFile
- RandomAccessFile
- RandomAccessFile
- 【读书笔记】《Effective Java》(7)--通用程序设计
- Java实现简单的排序
- 前端 js 调试的方法
- Java面向对象(2)构造函数
- 周末晚会
- RandomAccessFile
- openresty 限流 (redis+lua) 备忘
- 在Mac系统下配置PHP运行环境
- 整数划分问题(用因式的方法)
- 关于网络传输数据安全探讨
- 机器视觉学习笔记-图像特征
- Xcode8打包ERROR 90682:"can't contain 16-bit or P3 assets if the app is targeting iOS releases earlier
- 排序算法分析
- 学习中遇到的问题:RemovedInDjango110Warning: SuppRemovedInDjango110Warning: