RandomAccessFile的使用

原创 2012年03月24日 22:08:18

首先,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);

Java IO操作——简单了解RandomAccessFile随机读写文件操作类的使用

学习目标

使用RandomAccessFile递归修改文件

  • 2017年04月22日 12:04
  • 2KB
  • 下载

Java中使用RandomAccessFile类实现多线程下载

多线程下载文件的注意点主要有: 1、确定每个线程下载的文件大小,用这种方法计算: 先获取整个文件的大小length,然后除以线程个数count得到每个线程下载的块大小为blockSize ...

Java对文件的读、写随机访问,RandomAccessFile类的使用分析

在网上看了一些关于java中的RandomAccessFile类的介绍,又经过查看Java API和自己编的测试程序,总算是对RandomAccessFile的使用有了一定的了解。自己做了以下比较详细...

(45)使用RandomAccessFile向中间部分插入内容防止覆盖后面的内容方法

package com.xuan.io; import java.io.File; import java.io.FileInputStream; import java.io.FileOutput...

使用Java 随机读写文件RandomAccessFile类和String类遇到的问题

2016/1/19 21:35:23 1. String类:     以前可能没有注意到String类的一些编码的细节,这里简单说明一下     注意,常见的几个...

使用RandomAccessFile获取文件的MD5值

不同于使用FileInputStream和FileOutputStream读写文件,RadomAccessFile支持随机访问文件的方式。下面是官方的解释: Allows reading from a...

Java对文件的读、写随机访问,RandomAccessFile类的使用分析

在网上看了一些关于java中的RandomAccessFile类的介绍,又经过查看Java API和自己编的测试程序,总算是对RandomAccessFile的使用有了一定的了解。自己做了以下比较详细...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:RandomAccessFile的使用
举报原因:
原因补充:

(最多只允许输入30个字)