1、使用类型:RandomAccessFile
2、不是一个流对象,不在IO体系中,但是比流对象更加的强大;既可以读,也可以写;可以随机访问。
3、随机访问:人的需求是随机的,可能一会儿想访问这个位置,一会儿要访问另外一个位置,而随机访问流可以支持人的随机访问的需求。
4、构造方法:
RandomAccessFile(String path, String mode)
path:文件的路径
mode:操作文件的模式, “r”是只读,”rw”是读写
5、常用成员方法:
read():读取一个字节
read(byte[] arr):读取若干字节,存储到arr中
write(int b):写出一个字节到文件中
write(byte[] arr):将一个字节数组的内容写出
write(byte[] arr, int offset, int len):将字节数组的一部分写出
readLine():一次读取一行
readXxx:可以将基本类型直接从文件中读取
writeXxx:可以将基本类型直接以字符串的形式写入文件中
seek(long pos):用于设定光标的位置,从指定位置开始读写
代码示例
package com.ujiuye.demos;
import java.io.IOException;
import java.io.RandomAccessFile;
public class Demo03_随机访问流 {
public static void main(String[] args) throws IOException {
RandomAccessFile raf = new RandomAccessFile(“b.txt”, “rw”);
int i = raf.read();
System.out.println((char)i);
raf.seek(5);
System.out.println((char)(raf.read()));
raf.seek(50);
raf.write('Z');
}
}