JAVA将大文件专为若干小文件
时间: 2023-12-02 21:05:17 浏览: 28
您可以使用 Java 的 IO 流和文件处理 API,将大文件分割成若干小文件。以下是一个示例代码,可以将大文件按照指定大小分割成多个小文件:
```java
import java.io.*;
public class FileSplitter {
public static void main(String[] args) throws Exception {
File inputFile = new File("large_file.txt");
int splitSize = 100000; // split file into 100KB segments
byte[] buffer = new byte[splitSize];
int bytesRead = 0;
int fileNumber = 0;
try (BufferedInputStream inputStream = new BufferedInputStream(new FileInputStream(inputFile))) {
while ((bytesRead = inputStream.read(buffer)) > 0) {
File outputFile = new File("output_" + fileNumber + ".txt");
try (BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(outputFile))) {
outputStream.write(buffer, 0, bytesRead);
outputStream.flush();
}
fileNumber++;
}
}
}
}
```
上述代码中,我们首先定义一个输入文件和每个输出文件的大小(以字节为单位)。然后,我们使用 BufferedInputStream 类从输入文件中读取数据,并将其写入指定大小的缓冲区,使用 BufferedOutputStream 类将缓冲区的数据写入输出文件。在 while 循环中,我们将输入文件分割成多个大小相等的输出文件,并为每个输出文件命名。
请注意,上述代码中没有处理输入文件大小不是输出文件大小的整数倍的情况。如果输入文件大小不是输出文件大小的整数倍,则最后一个输出文件的大小可能会小于指定的大小。此外,您需要根据实际情况调整缓冲区的大小和输出文件名的格式。