Java中的半密码保护Zip文件
我需要使用Java创建一个zip文件。图书馆并不重要,但zip4j似乎是一个好的图书馆。在此zip文件中,只有部分文件或子目录受密码保护。例如,在以下zip文件中,只有以“*”开头的文件才受密码保护:Java中的半密码保护Zip文件,java,zip,zip4j,Java,Zip,Zip4j,我需要使用Java创建一个zip文件。图书馆并不重要,但zip4j似乎是一个好的图书馆。在此zip文件中,只有部分文件或子目录受密码保护。例如,在以下zip文件中,只有以“*”开头的文件才受密码保护: foo.zip foo1.txt *secure *secure1.txt *secure2.txt ZipFile zipFile = new ZipFile(zipFileName); ZipParameters zipParameters =
foo.zip
foo1.txt
*secure
*secure1.txt
*secure2.txt
ZipFile zipFile = new ZipFile(zipFileName);
ZipParameters zipParameters = new ZipParameters();
zipParameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
zipParameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
zipParameters.setEncryptFiles(true);
zipParameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES);
zipParameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);
zipParameters.setPassword(password);
zipFile.addFiles(new ArrayList<>(filesToZip), zipParameters);
ZipFile zipFile = new ZipFile(zipFileName);
ZipParameters zipParameters = new ZipParameters();
zipParameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
zipParameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
zipFile.addFiles(new ArrayList<>(filesToZip), zipParameters);
有没有办法用Java实现这个场景
提前感谢…无论如何,我是用zip4j找到的。以下代码段可用于创建密码保护和非密码保护的文件 对于要进行密码保护的文件:
foo.zip
foo1.txt
*secure
*secure1.txt
*secure2.txt
ZipFile zipFile = new ZipFile(zipFileName);
ZipParameters zipParameters = new ZipParameters();
zipParameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
zipParameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
zipParameters.setEncryptFiles(true);
zipParameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES);
zipParameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);
zipParameters.setPassword(password);
zipFile.addFiles(new ArrayList<>(filesToZip), zipParameters);
ZipFile zipFile = new ZipFile(zipFileName);
ZipParameters zipParameters = new ZipParameters();
zipParameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
zipParameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
zipFile.addFiles(new ArrayList<>(filesToZip), zipParameters);
ZipFile-ZipFile=新的ZipFile(zipFileName);
ZipParameters ZipParameters=新的ZipParameters();
zipParameters.SetCompression方法(Zip4jConstants.COMP_DEFLATE);
zipParameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
zipParameters.setEncryptFiles(true);
zipParameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES);
zipParameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);
zipParameters.setPassword(密码);
addFiles(新的ArrayList(filesToZip),zippParameters);
以及不受密码保护的文件:
foo.zip
foo1.txt
*secure
*secure1.txt
*secure2.txt
ZipFile zipFile = new ZipFile(zipFileName);
ZipParameters zipParameters = new ZipParameters();
zipParameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
zipParameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
zipParameters.setEncryptFiles(true);
zipParameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES);
zipParameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);
zipParameters.setPassword(password);
zipFile.addFiles(new ArrayList<>(filesToZip), zipParameters);
ZipFile zipFile = new ZipFile(zipFileName);
ZipParameters zipParameters = new ZipParameters();
zipParameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
zipParameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
zipFile.addFiles(new ArrayList<>(filesToZip), zipParameters);
ZipFile-ZipFile=新的ZipFile(zipFileName);
ZipParameters ZipParameters=新的ZipParameters();
zipParameters.SetCompression方法(Zip4jConstants.COMP_DEFLATE);
zipParameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
addFiles(新的ArrayList(filesToZip),zippParameters);
此mavne依赖项:
net.lingala.zip4j
zip4j
2.6.1
代码:
ZipParameters参数=新的ZipParameters();
parameters.setEncryptFiles(true);
参数.setEncryptionMethod(EncryptionMethod.ZIP_标准);
ZipFile zip=新ZipFile(destFile,PASSWORD.toCharArray());
zip.setCharset(InternalZipConstants.CHARSET_UTF_8);
用于(文件:srcFiles){
if(file.isFile()){
addFile(文件,参数);
}否则{
zip.addFolder(文件、参数);
}
}