{"id":1522,"date":"2016-10-03T17:01:24","date_gmt":"2016-10-03T15:01:24","guid":{"rendered":"http:\/\/blog.rabahi.net\/?page_id=1522"},"modified":"2017-05-11T11:24:57","modified_gmt":"2017-05-11T09:24:57","slug":"java-zip","status":"publish","type":"page","link":"https:\/\/blog.rabahi.net\/?page_id=1522","title":{"rendered":"Java &#8211; zip"},"content":{"rendered":"<h1>Dependencies<\/h1>\n<p>If you use maven, add this to your pom.xml : <\/p>\n<pre lang=\"xml\">\r\n<dependency>\r\n  <groupId>net.lingala.zip4j<\/groupId>\r\n  <artifactId>zip4j<\/artifactId>\r\n  <version>${zip4j.version}<\/version>\r\n<\/dependency>\r\n<\/pre>\n<h1>Compress<\/h1>\n<pre lang=\"java\">\r\nFile inputFile = \"\/var\/www\/html\";\r\nFile compressedFile = \"\/opt\/wwwhtml.zip\";\r\nString password=\"mypassword\";\r\n\r\nZipParameters parameters = new ZipParameters();\r\n\r\n\/\/ COMP_DEFLATE is for compression\r\n\/\/ COMp_STORE no compression\r\nparameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);\r\n\t\t\r\n\/\/ DEFLATE_LEVEL_ULTRA = maximum compression\r\n\/\/ DEFLATE_LEVEL_MAXIMUM\r\n\/\/ DEFLATE_LEVEL_NORMAL = normal compression\r\n\/\/ DEFLATE_LEVEL_FAST\r\n\/\/ DEFLATE_LEVEL_FASTEST = fastest compression\r\nparameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_ULTRA);\r\n\r\n\/\/ set password :\r\nif(password != null) {\r\n  \/\/Set the encryption flag to true\r\n  parameters.setEncryptFiles(true);\r\n\r\n  \/\/Set the encryption method to AES Zip Encryption\r\n  parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES);\r\n             \r\n  \/\/AES_STRENGTH_128 - For both encryption and decryption\r\n  \/\/AES_STRENGTH_192 - For decryption only\r\n  \/\/AES_STRENGTH_256 - For both encryption and decryption\r\n  \/\/Key strength 192 cannot be used for encryption. But if a zip file already has a\r\n  \/\/file encrypted with key strength of 192, then Zip4j can decrypt this file\r\n  parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);\r\n\r\n  \/\/Set password\r\n  parameters.setPassword(password);\r\n}\r\n\r\n\/\/ file compressed\r\nzipFile.addFile(inputFile, parameters);\r\n<\/pre>\n<h1>Decompress<\/h1>\n<pre lang=\"java\">\r\nFile compressedFile = \"\/opt\/wwwhtml.zip\";\r\nString destination = \"\/tmp\";\r\nString password=\"mypassword\";\r\n\r\nZipFile zipFile = new ZipFile(compressedFile);\r\n\r\n\/\/ If file is encrypted, set password :\r\nif (zipFile.isEncrypted()) {\r\n  zipFile.setPassword(password);\r\n}\r\n\r\n\/\/ Extract zip file to destination :\r\nzipFile.extractAll(destination);\r\n\r\n\r\n\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Dependencies If you use maven, add this to your pom.xml : net.lingala.zip4j zip4j ${zip4j.version} Compress File inputFile = &#8220;\/var\/www\/html&#8221;; File compressedFile = &#8220;\/opt\/wwwhtml.zip&#8221;; String password=&#8221;mypassword&#8221;; ZipParameters parameters = new ZipParameters(); \/\/ COMP_DEFLATE is for compression \/\/ COMp_STORE no compression parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE); \/\/ DEFLATE_LEVEL_ULTRA = maximum compression \/\/ DEFLATE_LEVEL_MAXIMUM \/\/ DEFLATE_LEVEL_NORMAL = normal compression \/\/ DEFLATE_LEVEL_FAST \/\/ [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1538,"menu_order":18,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1522","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages\/1522","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1522"}],"version-history":[{"count":8,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages\/1522\/revisions"}],"predecessor-version":[{"id":1975,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages\/1522\/revisions\/1975"}],"up":[{"embeddable":true,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages\/1538"}],"wp:attachment":[{"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}