zip(tar、gz、7zなど)ファイル内のディレクトリを圧縮する必要があります。それは大丈夫ですが、私は(file1.part1.zip、file1.part2.zipのように)互いに接続された複数のzipファイルを作成する必要がありますJavaでマルチパート圧縮zipファイルを作成するには
Javaでmultipart zipファイルを作成するにはどうしたらいいですか? 各パーツには最大サイズ制限が必要です。これらの方法およびフローを使用して
zip(tar、gz、7zなど)ファイル内のディレクトリを圧縮する必要があります。それは大丈夫ですが、私は(file1.part1.zip、file1.part2.zipのように)互いに接続された複数のzipファイルを作成する必要がありますJavaでマルチパート圧縮zipファイルを作成するには
Javaでmultipart zipファイルを作成するにはどうしたらいいですか? 各パーツには最大サイズ制限が必要です。これらの方法およびフローを使用して
Zip4jが分割zipファイルの作成をサポートリンクに行くことができます。ここでは、分割zipファイルを作成するためのサンプルです(Zip4j examples packageから採取したサンプル)
ZipFile.createZipFile(File sourceFile, ZipParameters parameters, boolean splitArchive, long splitLength)
は、分割されたzipファイルを作成する方法です。この場合はboolean splitArchive
をtrueに設定する必要があります。あなたは、コード例は無用であるlong splitLength
import java.io.File;
import java.util.ArrayList;
import net.lingala.zip4j.core.ZipFile;
import net.lingala.zip4j.exception.ZipException;
import net.lingala.zip4j.model.ZipParameters;
import net.lingala.zip4j.util.Zip4jConstants;
public class CreateSplitZipFile {
public CreateSplitZipFile() {
try {
// Initiate ZipFile object with the path/name of the zip file.
ZipFile zipFile = new ZipFile("c:\\ZipTest\\CreateSplitZipFile.zip");
// Build the list of files to be added in the array list
// Objects of type File have to be added to the ArrayList
ArrayList filesToAdd = new ArrayList();
filesToAdd.add(new File("c:\\ZipTest\\sample.txt"));
filesToAdd.add(new File("c:\\ZipTest\\myvideo.avi"));
filesToAdd.add(new File("c:\\ZipTest\\mysong.mp3"));
// Initiate Zip Parameters which define various properties such
// as compression method, etc.
ZipParameters parameters = new ZipParameters();
// set compression method to store compression
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
// Set the compression level. This value has to be in between 0 to 9
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
// Create a split file by setting splitArchive parameter to true
// and specifying the splitLength. SplitLenth has to be greater than
// 65536 bytes
// Please note: If the zip file already exists, then this method throws an
// exception
zipFile.createZipFile(filesToAdd, parameters, true, 10485760);
} catch (ZipException e) {
e.printStackTrace();
}
}
/**
* @param args
*/
public static void main(String[] args) {
new CreateSplitZipFile();
}
}
我々はより多くの説明のための
private long totalFileSize = 0L; /* In bytes */
private long totalNumberFilesSelected = 0L; /* Total number of files selected */
private int partitionSize; /* In MegaBytes */
private int partitionSizeInBytes = 100000000; /* defaulted to 100 MB */
private int compressionLevel = 9; /* defaults to 9 (best) */
private String saveFileBase = ""; /* Zip file to save as */
private ArrayList fileInfoList;
private ArrayList fileIndices = new ArrayList();
private int computeNumberOfArchives()
private void createZipArchive()
private void doZip()
zipファイルをすることができますuが
http://www.codeproject.com/Articles/25453/Automating-Multipart-Zip-File-Creation
介して各分割ファイル(Z01、Z02、など)の最大ファイルサイズを設定することができます。この記事はC#に関するものです。ソースは登録されておらず、登録後にのみダウンロードすることができます。 – Vadzim