{"id":4837,"date":"2024-03-14T02:00:21","date_gmt":"2024-03-14T02:00:21","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-compress-multiple-files-using-gzip-in-java\/"},"modified":"2025-07-31T14:11:00","modified_gmt":"2025-07-31T14:11:00","slug":"how-to-compress-multiple-files-using-gzip-in-java","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-compress-multiple-files-using-gzip-in-java\/","title":{"rendered":"Java GZIP Compression: Multiple Files"},"content":{"rendered":"<p>In Java, the GZIPOutputStream class can be used to compress multiple files. Here is an example code for compressing multiple files:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">import<\/span> java.io.*;\r\n<span class=\"hljs-keyword\">import<\/span> java.util.zip.GZIPOutputStream;\r\n\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">GzipMultipleFiles<\/span> {\r\n    \r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">main<\/span><span class=\"hljs-params\">(String[] args)<\/span> {\r\n        String[] files = {<span class=\"hljs-string\">\"file1.txt\"<\/span>, <span class=\"hljs-string\">\"file2.txt\"<\/span>, <span class=\"hljs-string\">\"file3.txt\"<\/span>};\r\n        \r\n        <span class=\"hljs-keyword\">try<\/span> (<span class=\"hljs-type\">FileOutputStream<\/span> <span class=\"hljs-variable\">fos<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">FileOutputStream<\/span>(<span class=\"hljs-string\">\"compressedFiles.gz\"<\/span>);\r\n             <span class=\"hljs-type\">GZIPOutputStream<\/span> <span class=\"hljs-variable\">gzipOS<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">GZIPOutputStream<\/span>(fos)) {\r\n            \r\n            <span class=\"hljs-keyword\">for<\/span> (String file : files) {\r\n                <span class=\"hljs-keyword\">try<\/span> (<span class=\"hljs-type\">FileInputStream<\/span> <span class=\"hljs-variable\">fis<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">FileInputStream<\/span>(file)) {\r\n                    <span class=\"hljs-type\">byte<\/span>[] buffer = <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">byte<\/span>[<span class=\"hljs-number\">1024<\/span>];\r\n                    <span class=\"hljs-type\">int<\/span> len;\r\n                    <span class=\"hljs-keyword\">while<\/span> ((len = fis.read(buffer)) &gt; <span class=\"hljs-number\">0<\/span>) {\r\n                        gzipOS.write(buffer, <span class=\"hljs-number\">0<\/span>, len);\r\n                    }\r\n                }\r\n            }\r\n            \r\n        } <span class=\"hljs-keyword\">catch<\/span> (IOException e) {\r\n            e.printStackTrace();\r\n        }\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>In the above example, a string array containing multiple file names is first defined. Then a FileOutputStream and GZIPOutputStream object are created to write data to the compressed file compressedFiles.gz. Next, each file is looped through, the file contents are read using FileInputStream, and the contents are written to the GZIPOutputStream, allowing for compression of multiple files. Finally, any possible IOException is caught in the exception handling.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Java, the GZIPOutputStream class can be used to compress multiple files. Here is an example code for compressing multiple files: import java.io.*; import java.util.zip.GZIPOutputStream; public class GzipMultipleFiles { public static void main(String[] args) { String[] files = {&#8220;file1.txt&#8221;, &#8220;file2.txt&#8221;, &#8220;file3.txt&#8221;}; try (FileOutputStream fos = new FileOutputStream(&#8220;compressedFiles.gz&#8221;); GZIPOutputStream gzipOS = new GZIPOutputStream(fos)) { for (String [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[4776,890,4300,87,299],"class_list":["post-4837","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-compression","tag-file-handling","tag-gzip","tag-java","tag-programming"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Java GZIP Compression: Multiple Files - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn how to compress multiple files using GZIP in Java with our step-by-step guide and code examples.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-compress-multiple-files-using-gzip-in-java\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Java GZIP Compression: Multiple Files\" \/>\n<meta property=\"og:description\" content=\"Learn how to compress multiple files using GZIP in Java with our step-by-step guide and code examples.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-compress-multiple-files-using-gzip-in-java\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-14T02:00:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-31T14:11:00+00:00\" \/>\n<meta name=\"author\" content=\"William Carter\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"William Carter\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-compress-multiple-files-using-gzip-in-java\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-compress-multiple-files-using-gzip-in-java\/\"},\"author\":{\"name\":\"William Carter\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0\"},\"headline\":\"Java GZIP Compression: Multiple Files\",\"datePublished\":\"2024-03-14T02:00:21+00:00\",\"dateModified\":\"2025-07-31T14:11:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-compress-multiple-files-using-gzip-in-java\/\"},\"wordCount\":94,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"compression\",\"file handling\",\"Gzip\",\"Java\",\"programming\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-compress-multiple-files-using-gzip-in-java\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-compress-multiple-files-using-gzip-in-java\/\",\"name\":\"Java GZIP Compression: Multiple Files - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T02:00:21+00:00\",\"dateModified\":\"2025-07-31T14:11:00+00:00\",\"description\":\"Learn how to compress multiple files using GZIP in Java with our step-by-step guide and code examples.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-compress-multiple-files-using-gzip-in-java\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-compress-multiple-files-using-gzip-in-java\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-compress-multiple-files-using-gzip-in-java\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java GZIP Compression: Multiple Files\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0\",\"name\":\"William Carter\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g\",\"caption\":\"William Carter\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/williamcarter\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Java GZIP Compression: Multiple Files - Blog - Silicon Cloud","description":"Learn how to compress multiple files using GZIP in Java with our step-by-step guide and code examples.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-compress-multiple-files-using-gzip-in-java\/","og_locale":"en_US","og_type":"article","og_title":"Java GZIP Compression: Multiple Files","og_description":"Learn how to compress multiple files using GZIP in Java with our step-by-step guide and code examples.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-compress-multiple-files-using-gzip-in-java\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T02:00:21+00:00","article_modified_time":"2025-07-31T14:11:00+00:00","author":"William Carter","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"William Carter","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-compress-multiple-files-using-gzip-in-java\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-compress-multiple-files-using-gzip-in-java\/"},"author":{"name":"William Carter","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0"},"headline":"Java GZIP Compression: Multiple Files","datePublished":"2024-03-14T02:00:21+00:00","dateModified":"2025-07-31T14:11:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-compress-multiple-files-using-gzip-in-java\/"},"wordCount":94,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["compression","file handling","Gzip","Java","programming"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-compress-multiple-files-using-gzip-in-java\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-compress-multiple-files-using-gzip-in-java\/","name":"Java GZIP Compression: Multiple Files - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T02:00:21+00:00","dateModified":"2025-07-31T14:11:00+00:00","description":"Learn how to compress multiple files using GZIP in Java with our step-by-step guide and code examples.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-compress-multiple-files-using-gzip-in-java\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-compress-multiple-files-using-gzip-in-java\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-compress-multiple-files-using-gzip-in-java\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Java GZIP Compression: Multiple Files"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0","name":"William Carter","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g","caption":"William Carter"},"url":"https:\/\/www.silicloud.com\/blog\/author\/williamcarter\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/4837","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=4837"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/4837\/revisions"}],"predecessor-version":[{"id":149549,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/4837\/revisions\/149549"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=4837"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=4837"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=4837"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}