本文整理汇总了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);
}
}
}