7zipコマンド実装
javaのコードで7zipのコマンドを実行する実装例です。
ProcessBuilder を使用し、7zipを実行します。
windowsを想定したコマンドとなっているため、linux環境にする場合はコマンドの箇所を下記に置き換えること
String command = “7z a -tzip -v” + splitSizeMB + “m ” + outputPath + ” ” + zipFilePath;
ProcessBuilder processBuilder = new ProcessBuilder(“bash”, “-c”, command);
String zipFilePath = “./test.zip”;
String outputPath = “./test.zip.bin”;
int splitSizeMB = 1000; // 分割サイズ(メガバイト)
try {
ProcessBuilder processBuilder = new ProcessBuilder(
“C:\\Program Files\\7-Zip\\7z.exe”, // 7-Zipコマンドのパス
“a”, “-tzip”, “-v” + splitSizeMB + “m”,
outputPath + “part”, zipFilePath
);
Process process = processBuilder.start();
int exitCode = process.waitFor();
if (exitCode == 0) {
System.out.println(“ZIPファイルがバイナリ分割されました。”);
} else {
System.out.println(“分割中にエラーが発生しました。”);
}
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
参考文献
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/ProcessBuilder.html