[javaSE] IO流(RandomAccessFile)

Posted 陶士涵的菜地

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[javaSE] IO流(RandomAccessFile)相关的知识,希望对你有一定的参考价值。

随机访问文件,可以看作一个大型的byte[]数组,不算是IO体系中的一员,内部封装了字节输入输出流,可以设置权限,可以调整指针的位置

 

获取RandomAccessFile对象,构造参数:String文件名称,String的文件模式

调用RandomAccessFile对象的write()方法,参数:byte[]数组

 

获取RandomAccessFile对象,构造参数:String文件名称,String的文件模式

调用RandomAccessFile对象的seek()方法,调整指针位置,参数:int的索引位置

调用RandomAccessFile对象的skipBytes()方法,可以跳过指定索引,参数:int索引位置

 

多线程下载的原理就是使用这个类

import java.io.RandomAccessFile;


public class RandomAccessFileDemo {

    /**
     * @param args
     * @throws Exception 
     */
    public static void main(String[] args) throws Exception {
        //写入
        RandomAccessFile raf=new RandomAccessFile("test2.txt", "rw");
        raf.write("陶士涵李小明".getBytes());
        raf.close();
        //读取
        readFile();
    }
    public static void readFile() throws Exception{
        RandomAccessFile raf=new RandomAccessFile("test2.txt", "rw");
        raf.seek(6);//调整指针位置
        byte[] b=new byte[1024];
        int len=raf.read(b);
        raf.close();
        System.out.println(new String(b,0,len));//输出  李小明
    }
}

 

以上是关于[javaSE] IO流(RandomAccessFile)的主要内容,如果未能解决你的问题,请参考以下文章

基于JavaSE阶段的IO流详解

JavaSE——IO流(缓冲流)

JavaSE---集合

JavaSE 学习笔记之IO流(二十二)

JavaSE基础九----<IO流 >File类

08 - JavaSE之IO流