17.10(拆分文件) 假设你想备份一个 大文件(例如,一个10gb的AV1文件)到CD-R。你可以通过将文件分割成更小的文件,并分别备份这些文件来实现。编写一个实用程序,使用以下命令将大文件分割成小文 件:】该命令创建源文件文件。1、源文 bytes, respecuvely. mela 复制 件。2,……, SourceFile.n; 其中n为number OfPieces, 输出文件大小大致相同。
时间: 2024-02-18 13:59:25 浏览: 192
以下是一个Java程序,可以将大文件分割成小文件:
```java
import java.io.*;
public class FileSplitter {
public static void main(String[] args) {
String sourceFile = "path/to/source/file"; // 大文件路径
String targetFolder = "path/to/target/folder"; // 小文件存放目录
int numberOfPieces = 10; // 分割的文件数
try (InputStream inputStream = new FileInputStream(sourceFile)) {
long fileSize = new File(sourceFile).length();
long pieceSize = fileSize / numberOfPieces;
byte[] buffer = new byte[1024];
int bytesRead = 0;
for (int i = 1; i <= numberOfPieces; i++) {
String fileName = String.format("SourceFile.%d", i);
OutputStream outputStream = new FileOutputStream(targetFolder + "/" + fileName);
long bytesWritten = 0;
while (bytesWritten < pieceSize && (bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
bytesWritten += bytesRead;
}
outputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
你可以将上述代码保存到一个名为 `FileSplitter.java` 的文件中,并编译运行。请将 `path/to/source/file` 替换为你要分割的大文件的路径,将 `path/to/target/folder` 替换为小文件存放目录的路径,将 `numberOfPieces` 替换为你希望分割的文件数。程序将会在指定的目录下生成多个小文件,文件名类似于 `SourceFile.1`、`SourceFile.2`、`SourceFile.3` 等等。每个小文件的大小大致相同。
阅读全文