package split;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.io.File;
public class Split {
public static void main(String[] args) throws IOException {
RandomAccessFile randomAccessFile = new RandomAccessFile("C:\\Users\\Administrator\\Desktop\\test.pdf", "r");
int point = 0;
long last = 0;
long lenth = randomAccessFile.length();
int size = 5;
int i = 0;
while (true) {
byte[] buffer = new byte[1024 * 1024];
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(
new FileOutputStream(
new File("C:\\Users\\Administrator\\Desktop\\zz\\test.part" + i++)
)
);
last = lenth - point;
if (last > buffer.length * size) {
for (int j = 0; j < size; j++) {
randomAccessFile.read(buffer);
bufferedOutputStream.write(buffer);
bufferedOutputStream.flush();
}
} else {
byte[] endBuffer = new byte[(int) last];
randomAccessFile.read(endBuffer);
bufferedOutputStream.write(endBuffer);
bufferedOutputStream.close();
bufferedOutputStream.flush();
break;
}
point += buffer.length * size;
}
randomAccessFile.close();
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律