用java写:读取本地某个大文件分割成等于5kb的,按数字顺序命名的文件,并保存到D盘下
时间: 2024-03-29 10:40:02 浏览: 41
可以使用Java的IO流和文件操作来实现该需求,代码如下:
```java
import java.io.*;
public class SplitFile {
public static void main(String[] args) {
String filePath = "C:/example/file.txt"; // 待读取的文件路径
String savePath = "D:/split/"; // 分割后的文件保存路径
int fileSize = 5 * 1024; // 分割的文件大小,单位字节
int count = 1; // 记录分割后的文件数
try {
File file = new File(filePath);
FileInputStream fis = new FileInputStream(file);
byte[] buffer = new byte[fileSize];
int len = 0;
while ((len = fis.read(buffer)) != -1) {
String fileName = savePath + count + ".txt"; // 拼接分割后的文件名
FileOutputStream fos = new FileOutputStream(new File(fileName));
fos.write(buffer, 0, len);
fos.flush();
fos.close();
count++;
}
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
该代码通过FileInputStream读取待分割的文件,每次读取5KB的数据到缓冲区中,然后通过FileOutputStream将缓冲区中的数据写入新的分割文件中,并按数字顺序命名。每次写入完毕后,计数器count加1,用于记录分割后的文件数。最后关闭输入输出流。
阅读全文