本文整理匯總了Java中net.lingala.zip4j.core.ZipFile.addFile方法的典型用法代碼示例。如果您正苦於以下問題:Java ZipFile.addFile方法的具體用法?Java ZipFile.addFile怎麽用?Java ZipFile.addFile使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類net.lingala.zip4j.core.ZipFile
的用法示例。
在下文中一共展示了ZipFile.addFile方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: zip
import net.lingala.zip4j.core.ZipFile; //導入方法依賴的package包/類
public static void zip(String targetPath, String destinationFilePath, String password) {
try {
ZipParameters parameters = new ZipParameters();
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
if (password.length() > 0) {
parameters.setEncryptFiles(true);
parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES);
parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);
parameters.setPassword(password);
}
ZipFile zipFile = new ZipFile(destinationFilePath);
File targetFile = new File(targetPath);
if (targetFile.isFile()) {
zipFile.addFile(targetFile, parameters);
} else if (targetFile.isDirectory()) {
zipFile.addFolder(targetFile, parameters);
}
} catch (Exception e) {
e.printStackTrace();
}
}
示例2: compress
import net.lingala.zip4j.core.ZipFile; //導入方法依賴的package包/類
/**
* Compress.
*
* @param fileName
* the file name
* @param compressedFileName
* the compressed file name
* @param password
* the password
*/
public static void compress(String fileName, String compressedFileName, String password) {
try {
ZipParameters zipParameters = new ZipParameters();
zipParameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
zipParameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_ULTRA);
if (password != null) {
zipParameters.setEncryptFiles(true);
zipParameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES);
zipParameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);
zipParameters.setPassword(password);
}
String destinationZipFilePath = compressedFileName;
ZipFile zipFile = new ZipFile(destinationZipFilePath);
zipFile.addFile(new File(fileName), zipParameters);
} catch (ZipException e) {
JKExceptionUtil.handle(e);
}
}
示例3: compact
import net.lingala.zip4j.core.ZipFile; //導入方法依賴的package包/類
@Override
public String compact(String in, int compressionLevel) throws IOException {
File out = new File(in + ".zip4j");
try {
ZipFile zipFile = new ZipFile(out.getAbsolutePath());
ZipParameters parametes = new ZipParameters();
parametes.setCompressionLevel(compressionLevel);
zipFile.addFile(new File(in), parametes);
} catch (ZipException e) {
throw new IOException(e);
}
return out.getAbsolutePath();
}
示例4: addFileToZip
import net.lingala.zip4j.core.ZipFile; //導入方法依賴的package包/類
public static ZipFile addFileToZip(String fileToCompress, File srcFile, String fileNameInZip )
throws ZipException {
File destBackupFile = new File( fileToCompress );
ZipFile zipBackupFile = new ZipFile( destBackupFile );
ZipParameters zipParameters = new ZipParameters();
// COMP_DEFLATE is for compression
zipParameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
// DEFLATE_LEVEL_ULTRA = maximum compression
zipParameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_ULTRA);
zipParameters.setSourceExternalStream(true);
zipParameters.setFileNameInZip( fileNameInZip );
zipBackupFile.addFile(srcFile, zipParameters);
return zipBackupFile;
}
示例5: zip
import net.lingala.zip4j.core.ZipFile; //導入方法依賴的package包/類
/**
* 使用給定密碼壓縮指定文件或文件夾到指定位置.
* <p>
* dest可傳最終壓縮文件存放的絕對路徑,也可以傳存放目錄,也可以傳null或者"".<br />
* 如果傳null或者""則將壓縮文件存放在當前目錄,即跟源文件同目錄,壓縮文件名取源文件名,以.zip為後綴;<br />
* 如果以路徑分隔符(File.separator)結尾,則視為目錄,壓縮文件名取源文件名,以.zip為後綴,否則視為文件名.
* @param src 要壓縮的文件或文件夾路徑
* @param dest 壓縮文件存放路徑
* @param isCreateDir 是否在壓縮文件裏創建目錄,僅在壓縮文件為目錄時有效.<br />
* 如果為false,將直接壓縮目錄下文件到壓縮文件.
* @param passwd 壓縮使用的密碼
* @return 最終的壓縮文件存放的絕對路徑,如果為null則說明壓縮失敗.
*/
public static String zip(String src, String dest, boolean isCreateDir, String passwd) {
File srcFile = new File(src);
File destFile = new File(dest);
dest = buildDestinationZipFilePath(srcFile, dest);
ZipParameters parameters = new ZipParameters();
parameters.setFileNameInZip(destFile.getName().substring(0,destFile.getName().lastIndexOf("."))+".log");
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE); // 壓縮方式
parameters.setSourceExternalStream(true);
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL); // 壓縮級別
if (!TextUtils.isEmpty(passwd)) {
parameters.setEncryptFiles(true);
parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_STANDARD); // 加密方式
parameters.setPassword(passwd.toCharArray());
}
try {
ZipFile zipFile = new ZipFile(dest);
if (srcFile.isDirectory()) {
// 如果不創建目錄的話,將直接把給定目錄下的文件壓縮到壓縮文件,即沒有目錄結構
if (!isCreateDir) {
File [] subFiles = srcFile.listFiles();
ArrayList<File> temp = new ArrayList<File>();
Collections.addAll(temp, subFiles);
zipFile.addFiles(temp, parameters);
return dest;
}
zipFile.addFolder(srcFile, parameters);
} else {
zipFile.addFile(srcFile, parameters);
}
return dest;
} catch (ZipException e) {
e.printStackTrace();
}
return null;
}
示例6: zip
import net.lingala.zip4j.core.ZipFile; //導入方法依賴的package包/類
/**
* 使用給定密碼壓縮指定文件或文件夾到指定位置.
* <p>
* dest可傳最終壓縮文件存放的絕對路徑,也可以傳存放目錄,也可以傳null或者"".<br />
* 如果傳null或者""則將壓縮文件存放在當前目錄,即跟源文件同目錄,壓縮文件名取源文件名,以.zip為後綴;<br />
* 如果以路徑分隔符(File.separator)結尾,則視為目錄,壓縮文件名取源文件名,以.zip為後綴,否則視為文件名.
* @param src 要壓縮的文件或文件夾路徑
* @param dest 壓縮文件存放路徑
* @param isCreateDir 是否在壓縮文件裏創建目錄,僅在壓縮文件為目錄時有效.<br />
* 如果為false,將直接壓縮目錄下文件到壓縮文件.
* @param passwd 壓縮使用的密碼
* @return 最終的壓縮文件存放的絕對路徑,如果為null則說明壓縮失敗.
*/
public static String zip(String src, String dest, boolean isCreateDir, String passwd) {
File srcFile = new File(src);
dest = buildDestinationZipFilePath(srcFile, dest);
ZipParameters parameters = new ZipParameters();
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE); // 壓縮方式
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL); // 壓縮級別
if (!StringUtils.isEmpty(passwd)) {
parameters.setEncryptFiles(true);
parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_STANDARD); // 加密方式
parameters.setPassword(passwd.toCharArray());
}
try {
ZipFile zipFile = new ZipFile(dest);
if (srcFile.isDirectory()) {
// 如果不創建目錄的話,將直接把給定目錄下的文件壓縮到壓縮文件,即沒有目錄結構
if (!isCreateDir) {
File [] subFiles = srcFile.listFiles();
ArrayList<File> temp = new ArrayList<File>();
Collections.addAll(temp, subFiles);
zipFile.addFiles(temp, parameters);
return dest;
}
zipFile.addFolder(srcFile, parameters);
} else {
zipFile.addFile(srcFile, parameters);
}
return dest;
} catch (ZipException e) {
e.printStackTrace();
}
return null;
}
示例7: zip
import net.lingala.zip4j.core.ZipFile; //導入方法依賴的package包/類
/**
* 使用給定密碼壓縮指定文件或文件夾到指定位置.
* <p>
* dest可傳最終壓縮文件存放的絕對路徑,也可以傳存放目錄,也可以傳null或者"".<br />
* 如果傳null或者""則將壓縮文件存放在當前目錄,即跟源文件同目錄,壓縮文件名取源文件名,以.zip為後綴;<br />
* 如果以路徑分隔符(File.separator)結尾,則視為目錄,壓縮文件名取源文件名,以.zip為後綴,否則視為文件名.
* @param src 要壓縮的文件或文件夾路徑
* @param dest 壓縮文件存放路徑
* @param isCreateDir 是否在壓縮文件裏創建目錄,僅在壓縮文件為目錄時有效.<br />
* 如果為false,將直接壓縮目錄下文件到壓縮文件.
* @param passwd 壓縮使用的密碼
* @return 最終的壓縮文件存放的絕對路徑,如果為null則說明壓縮失敗.
*/
public static String zip(String src, String dest, boolean isCreateDir, String passwd) {
File srcFile = new File(src);
dest = buildDestinationZipFilePath(srcFile, dest);
ZipParameters parameters = new ZipParameters();
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE); // 壓縮方式
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL); // 壓縮級別
if (!StringUtils.isEmpty(passwd)) {
parameters.setEncryptFiles(true);
parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_STANDARD); // 加密方式
parameters.setPassword(passwd.toCharArray());
}
try {
ZipFile zipFile = new ZipFile(dest);
zipFile.setFileNameCharset(Constants.GBK); //不可隨意更換位置
if (srcFile.isDirectory()) {
// 如果不創建目錄的話,將直接把給定目錄下的文件壓縮到壓縮文件,即沒有目錄結構
if (!isCreateDir) {
File [] subFiles = srcFile.listFiles();
ArrayList<File> temp = new ArrayList<File>();
if(null != subFiles && subFiles.length > 0)
Collections.addAll(temp, subFiles);
zipFile.addFiles(temp, parameters);
return dest;
}
zipFile.addFolder(srcFile, parameters);
} else {
zipFile.addFile(srcFile, parameters);
}
return dest;
} catch (ZipException e) {
Exceptions.printException(e);;
}
return null;
}
示例8: zipFiles
import net.lingala.zip4j.core.ZipFile; //導入方法依賴的package包/類
@Override
public String zipFiles(String zipFilePath, List<File> files, String filesRootPath, boolean includeRootPath) {
String errorMessage = null;
ZipParameters parameters = new ZipParameters();
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_FAST);
parameters.setEncryptionMethod(Zip4jConstants.ENC_NO_ENCRYPTION);
parameters.setDefaultFolderPath(filesRootPath);
parameters.setIncludeRootFolder(includeRootPath);
try {
ZipFile zipFile = new ZipFile(zipFilePath);
for (int i = 0; i < files.size(); i++) {
File file = files.get(i);
if (file.isFile()) {
zipFile.addFile(file, parameters);
}
if (file.isDirectory()) {
zipFile.addFolder(file, parameters);
}
}
} catch (ZipException e) {
errorMessage = e.getMessage();
}
return errorMessage;
}
示例9: zipFiles
import net.lingala.zip4j.core.ZipFile; //導入方法依賴的package包/類
@Override
public String zipFiles(String zipFilePath, List<File> files, String filesRootPath, boolean includeRootPath) {
String errorMessage = null;
ZipParameters parameters = new ZipParameters();
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_FAST);
parameters.setEncryptionMethod(Zip4jConstants.ENC_NO_ENCRYPTION);
parameters.setDefaultFolderPath(filesRootPath);
parameters.setIncludeRootFolder(includeRootPath);
try {
ZipFile zipFile = new ZipFile(zipFilePath);
for (int i = 0; i < files.size(); i++) {
File file = files.get(i);
if (file.isFile()) {
zipFile.addFile(file, parameters);
}
if (file.isDirectory()) {
zipFile.addFolder(file, parameters);
}
}
} catch (ZipException e) {
e.printStackTrace();
}
return errorMessage;
}
示例10: createZipFile
import net.lingala.zip4j.core.ZipFile; //導入方法依賴的package包/類
private String createZipFile(List<SysUploadVO> uploads) throws Exception {
ZipFile zip = new ZipFile( Constants.getWorkTmpDir() + SimpleUtils.getUUIDStr() + ".zip" );
ZipParameters parameters = new ZipParameters();
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
for (SysUploadVO reportUpload : uploads) {
zip.addFile(UploadSupportUtils.getRealFile(reportUpload.getOid()), parameters);
}
return UploadSupportUtils.create(Constants.getSystem(), UploadTypes.IS_TEMP, false, zip.getFile(), "pdca-report.zip");
}
示例11: addPrjFileToArchive
import net.lingala.zip4j.core.ZipFile; //導入方法依賴的package包/類
/**
*
* @param file
* @param targetCrs
* @return
* @throws ZipException
* @throws IOException
* @throws NoSuchAuthorityCodeException
* @throws FactoryException
*/
public static File addPrjFileToArchive(File file, String targetCrs)
throws ZipException, IOException, NoSuchAuthorityCodeException, FactoryException {
ZipFile zipFile = new ZipFile(file);
CoordinateReferenceSystem decodedTargetCrs = CRS.decode(targetCrs);
String targetCrsWkt = toSingleLineWKT(decodedTargetCrs);
ArrayList<String> zipFileNames = new ArrayList<String>();
List<FileHeader> zipFileHeaders = zipFile.getFileHeaders();
for (FileHeader zipFileHeader : zipFileHeaders){
if (FilenameUtils.getExtension(zipFileHeader.getFileName()).equalsIgnoreCase("prj")) {
continue;
}
zipFileNames.add(FilenameUtils.getBaseName(zipFileHeader.getFileName()));
}
LOG.debug("Following files will be created and added to ZIP file: " + zipFileNames);
for (String prefix : zipFileNames) {
File targetPrj = null;
try {
targetPrj = File.createTempFile("TMP_" + prefix, ".prj");
FileUtils.write(targetPrj, targetCrsWkt, "UTF-8");
ZipParameters params = new ZipParameters();
params.setSourceExternalStream(true);
params.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
params.setFileNameInZip(prefix + ".prj");
zipFile.addFile(targetPrj, params);
} finally {
if (targetPrj != null) {
targetPrj.delete();
}
}
}
return zipFile.getFile();
}
示例12: zip
import net.lingala.zip4j.core.ZipFile; //導入方法依賴的package包/類
/**
* 使用給定密碼壓縮指定文件或文件夾到指定位置.
* @param srcFiles 要壓縮的文件或文件夾File
* @param destFile 壓縮文件存放File
* @param charset 編碼方式
* @param passwd 密碼
* @param compressionMethod 壓縮方式【Zip4jConstants類參數】
* @param compressionLevel 壓縮級別【Zip4jConstants類參數】
* @param encryptionMethod 加密方式【Zip4jConstants類參數】
* @throws ZipException
*/
private static void zip(File[] srcFiles,File destFile, String charset,
String passwd, int compressionMethod, int compressionLevel,
int encryptionMethod) throws ZipException {
//創建目標文件父級目錄
FastFile.createParentDirectory(destFile);
ZipParameters parameters = new ZipParameters();
parameters.setCompressionMethod(compressionMethod); // 壓縮方式
parameters.setCompressionLevel(compressionLevel); // 壓縮級別
if (StringUtils.isNotBlank(passwd)) {
parameters.setEncryptFiles(true);
parameters.setEncryptionMethod(encryptionMethod); // 加密方式
if(encryptionMethod==Zip4jConstants.ENC_METHOD_AES){//如果加密方式為AES
parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);
}
parameters.setPassword(passwd.toCharArray());
}
ZipFile zipFile = new ZipFile(destFile);
zipFile.setFileNameCharset(charset);
for(File srcFile : srcFiles){
if (srcFile.isDirectory()) {
zipFile.addFolder(srcFile, parameters);
} else {
zipFile.addFile(srcFile, parameters);
}
}
}
示例13: add
import net.lingala.zip4j.core.ZipFile; //導入方法依賴的package包/類
/**
* Adds a file to the given zip archive.
*
* @param zipArchive
* @param fileToAdd
* @throws ZipException
*/
public static void add(File zipArchive, final File fileToAdd) throws ZipException {
try {
ZipParameters zipParameters = new ZipParameters();
zipParameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
zipParameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
ZipFile zipFile = new ZipFile(zipArchive);
zipFile.addFile(fileToAdd, zipParameters);
LOGGER.debug("file {} added to {}", fileToAdd, zipArchive.getPath());
} catch (ZipException e) {
throw new ZipException(e);
}
}
示例14: zip
import net.lingala.zip4j.core.ZipFile; //導入方法依賴的package包/類
/**
* 使用給定密碼壓縮指定文件或文件夾到指定位置.
* <p>
* dest可傳最終壓縮文件存放的絕對路徑,也可以傳存放目錄,也可以傳null或者"".<br />
* 如果傳null或者""則將壓縮文件存放在當前目錄,即跟源文件同目錄,壓縮文件名取源文件名,以.zip為後綴;<br />
* 如果以路徑分隔符(File.separator)結尾,則視為目錄,壓縮文件名取源文件名,以.zip為後綴,否則視為文件名.
*
* @param src
* 要壓縮的文件或文件夾路徑
* @param dest
* 壓縮文件存放路徑
* @param isCreateDir
* 是否在壓縮文件裏創建目錄,僅在壓縮文件為目錄時有效.<br />
* 如果為false,將直接壓縮目錄下文件到壓縮文件.
* @param passwd
* 壓縮使用的密碼
* @return 最終的壓縮文件存放的絕對路徑,如果為null則說明壓縮失敗.
*/
public static String zip(String src, String dest, boolean isCreateDir,
String passwd) {
File srcFile = new File(src);
dest = buildDestinationZipFilePath(srcFile, dest);
ZipParameters parameters = new ZipParameters();
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE); // 壓縮方式
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL); // 壓縮級別
if (!StringUtils.isEmpty(passwd)) {
parameters.setEncryptFiles(true);
parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_STANDARD); // 加密方式
parameters.setPassword(passwd.toCharArray());
}
try {
ZipFile zipFile = new ZipFile(dest);
if (srcFile.isDirectory()) {
// 如果不創建目錄的話,將直接把給定目錄下的文件壓縮到壓縮文件,即沒有目錄結構
if (!isCreateDir) {
File[] subFiles = srcFile.listFiles();
ArrayList<File> temp = new ArrayList<File>();
Collections.addAll(temp, subFiles);
zipFile.addFiles(temp, parameters);
return dest;
}
zipFile.addFolder(srcFile, parameters);
} else {
zipFile.addFile(srcFile, parameters);
}
return dest;
} catch (ZipException e) {
e.printStackTrace();
}
return null;
}
示例15: compressZipfile
import net.lingala.zip4j.core.ZipFile; //導入方法依賴的package包/類
public static void compressZipfile(String sourceDir, String outputFile) throws ZipException {
ZipFile zip = new ZipFile(outputFile);
ZipParameters params = new ZipParameters();
params.setCompressionMethod(Zip4jConstants.COMP_STORE);
//params.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
for (File f : new File(sourceDir).listFiles()) {
if (f.isDirectory()) {
zip.addFolder(f, params);
} else {
zip.addFile(f, params);
}
}
}