版权声明:LemonSnm https://blog.csdn.net/LemonSnm/article/details/89913617
RandomAccessFile
RandomAccessFile是IO包的类。从Object直接继承而来。只可是对文件进行操作,可以对文件进行读取和写入。
当模式为r时,当文件不存在时会报异常,
当模式为rw时,当文件不存在时,会自动创建文件,当文件已经存在时 不会对原文件进行覆盖。
RandomAccessFile有强大的文件读取功能,其内部是大型byte[],可以通过seek(),getFilePointer()等方法操作的指针,方便对数据进行写入与读取,还可以对基本数据类型进行直接的读和写操作。
RandomAccessFile绝大多数功能,已经被JDK1.4的nio的“内存映射文件(memory-mapped files)”给取代了
代码示例:
package com.lemon;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
/**
* RandoramAccessFile
* @author lemonSun
*
* 2019年5月6日下午5:53:49
*/
public class RandoramAccessFileDemo {
public static void main(String[] args) {
try {
RandomAccessFile r = new RandomAccessFile("F:\\javatest\\text1\\新建文件夹\\233.jpg", "r"); //r 可读
RandomAccessFile w = new RandomAccessFile("F:\\javatest\\233.jpg","rw"); //rw 可读写
byte[] bytes = new byte[1024];
int len = -1;
while((len = r.read(bytes)) != -1) {
w.write(bytes,0,len);
}
w.close();
r.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("copy success!");
}
}