JAVA EXAMPLE PROGRAMS

JAVA EXAMPLE PROGRAMS

Publish Your Article Here

Program: How to zip multiple files?


Description:

Below example shows how to zip multiple files using ZipOutputStream class. putNextEntry() method starts adding into the zip, and ZipEntry represents a file entry into the zip.


Code:
package com.java2novice.zip;

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

public class MyMultipleFileZip {

	public void zipFiles(List<String> files){
		
		FileOutputStream fos = null;
        ZipOutputStream zipOut = null;
        FileInputStream fis = null;
		try {
			fos = new FileOutputStream("C:/testing.zip");
			zipOut = new ZipOutputStream(new BufferedOutputStream(fos));
			for(String filePath:files){
				File input = new File(filePath);
				fis = new FileInputStream(input);
				ZipEntry ze = new ZipEntry(input.getName());
				System.out.println("Zipping the file: "+input.getName());
				zipOut.putNextEntry(ze);
				byte[] tmp = new byte[4*1024];
				int size = 0;
				while((size = fis.read(tmp)) != -1){
					zipOut.write(tmp, 0, size);
				}
				zipOut.flush();
				fis.close();
			}
			zipOut.close();
			System.out.println("Done... Zipped the files...");
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally{
			try{
				if(fos != null) fos.close();
			} catch(Exception ex){
				
			}
		}
	}
	
	public static void main(String a[]){
		
		MyMultipleFileZip mfe = new MyMultipleFileZip();
		List<String> files = new ArrayList<String>();
		files.add("C:/test.txt");
		files.add("C:/test.sh");
		files.add("C:/port-chn.txt");
		mfe.zipFiles(files);
	}
}


Output:
Zipping the file: test.txt
Zipping the file: test.sh
Zipping the file: port-chn.txt
Done... Zipped the files...
<< Previous Program | Next Program >>

List of all java.util.zip class sample examples:

  1. How to compress byte array in java?
  2. How to decompress byte array in java?
  3. How to zip a single file?
  4. How to zip multiple files?
  5. How to read zip files entries or file name list?
  6. How to unzip files in java?
  7. How to generate checksum value for for a file in java?
  8. How to compress and store objects using zip utility?
  9. How to decompress the compressed objects using zip utility?
  10. How to zip a file using ZipFile class?
  11. How to compress a file in GZip format?
  12. How to uncompress a file from GZip format?
Knowledge Centre
Procedural Vs Object-oriented Programs
In procedural program, programming logic follows certain procedures and the instructions are executed one after another. In OOP program, unit of program is object, which is nothing but combination of data and code.

In procedural program, data is exposed to the whole program whereas in OOPs program, it is accessible with in the object and which in turn assures the security of the code.
Famous Quotations
Millions long for immortality who do not know what to do with themselves on a rainy Sunday afternoon.
-- Susan Erz

About Author

I'm Nataraja Gootooru, programmer by profession and passionate about technologies. All examples given here are as simple as possible to help beginners. The source code is compiled and tested in my dev environment.

If you come across any mistakes or bugs, please email me to [email protected].

Most Visited Pages

Other Interesting Sites

Reference: Java™ Platform Standard Ed. 7 - API Specification | Java™ Platform Standard Ed. 8 - API Specification | Java is registered trademark of Oracle.
Privacy Policy | Copyright © 2019 by Nataraja Gootooru. All Rights Reserved.