您的位置:首页 > 编程语言 > Java开发

RandomAccessFile随机访问文件

2017-12-31 16:02 337 查看
为什么需要RandomAccessFile类?

因为所有的流都是
只读的(rean-only)
或者
只写的(write-only)
,这些流被成为
顺序流(sequential stream)
,如
字符流(Reader,Writer)和字节流(InputStream,OutputStream)


使用顺序流打开的文件成为
顺序访问文件
,顺序访问的文件不能更新,所以为了经常修改文件,java提供
RandomAccessFile
类,允许从文件的任何位置进行数据的读写。使用RandoomAccessFile类打开的文件成为
随机访问文件


import java.io.IOException;
import java.io.RandomAccessFile;

public class TestRandomAccessFile {
public static void main(String[] args) throws IOException{
try (
RandomAccessFile inout = new RandomAccessFile("inout.dat","rw")
){
inout.setLength(0);
for (int i = 0;i<200;i++){
inout.writeInt(i);
}

System.out.println("current file length is "+inout.length());

inout.seek(0);
System.out.println("the first number is "+inout.readInt());
//设置偏移量,以字节为单位
inout.seek(1*4);
System.out.println("the second number is "+inout.readInt());

inout.seek(9*4);
System.out.println("the tenth number is "+inout.readInt());

inout.writeInt(555);

inout.seek(inout.length());
inout.writeInt(999);

System.out.println("the new length is "+inout.length());
inout.seek(10*4);

System.out.println("the eleventh number is "+inout.readInt());
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java