RandomAccessFile类的主要功能是完成随机读取功能,可以读取指定位置的内容,File类只是针对文件本身进行操作的 .
public RandomAccessFile(File file, String mode) throws FileNotFoundException.
第一个参数是指操作的是哪个文件,第二个参数具有两种模式,分别为:
- r:读模式
- w:只写
- rw:读写模式,如果此文件不存在,则自动创建
例子:
long offset = 1024 * 1024;
File file = new File("/Users/sunow/a.txt");
byte[] fileData = file.getBytes();
File tmpFile = new File(uploadDirPath, tempFileName);
// 读写模式
RandomAccessFile tmpRaf = new RandomAccessFile(tmpFile, "rw");
FileChannel fileChannel = temRaf.getChannel();
// 通道映射
MappedByteBuffer mappedByteBuffer = fileChannel.map(FileChannel.MapMode.READ_WRITE, offset, fileData);
mappedByteBuffer.put(fileData);