文件分割(随机读取RandomAccessFile)

本文介绍如何利用RandomAccessFile在Java中实现文件的随机读取操作,通过设置指针偏移量选择性读取文件内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RandomAccessFile

随机读取文件,通过指针的偏移来确定读取的位置。

我们可以自定义初始位置

import java.io.*;
import java.util.Random;
 
/**
 * 随机读取和写入流 RandomAccessFile
 * @author fanfan
 */
public class RandomAccessFileTest01 {
	//分块读取
	public static void main(String[] args) throws IOException {
		//test01();
		//test2();
		//分多少块
		File src = new File("src/com/jianshun/RandomAccessFileTest01.java");
		//总长度
		long len = src.length();
		//每块大小
		int blockSize = 1024;
		//快数,多少块
		int size = (int)Math.ceil(len*1.0/blockSize);
		System.out.println(size);
		
		//起始位置和实际大小
		int beginPos = 0;
		int actualSize = (int) (blockSize > len ? len : blockSize);
		for(int i=0;i<size;i++){
			beginPos = i*blockSize;
			
			if(i==size-1){//最后一块
				actualSize = (int)len;
			}else{
				actualSize = blockSize;
				len -= blockSize;//剩余量
			}
			split(i, beginPos, actualSize);
		}
	}
	
	/**
	 * 指定第i块得其实位置 和实际长度
	 */
	public static v
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值