java实现把一个大文件切割成N个固定大小的文件
时间: 2023-11-28 20:04:25 浏览: 169
下面是Java实现将一个大文件切割成N个固定大小的文件的代码:
```java
import java.io.*;
public class FileSplitter {
public static void main(String[] args) throws IOException {
String filePath = "path/to/large/file";
int chunkSize = 1024 * 1024; // 每个分片的大小,这里设置为1MB
int chunkCount = (int) Math.ceil(new File(filePath).length() / (double) chunkSize);
try (FileInputStream in = new FileInputStream(filePath)) {
for (int i = 0; i < chunkCount; i++) {
String chunkFilePath = String.format("%s.%02d", filePath, i);
try (FileOutputStream out = new FileOutputStream(chunkFilePath)) {
byte[] buffer = new byte[chunkSize];
int bytesRead = in.read(buffer);
out.write(buffer, 0, bytesRead);
}
}
}
}
}
```
这段代码使用了Java IO库中的FileInputStream和FileOutputStream类来读取和写入文件,Math.ceil函数用于向上取整。在代码中,我们首先计算出需要将文件切割成多少个大小为chunkSize的分片,然后使用for循环读取原始文件并写入每个分片文件中。每个分片的文件名格式为:原文件名.分片编号。
阅读全文