Latest Tutorials| Questions and Answers|Ask Questions?|Site Map



Home Java Example Java Io Zip File Using Java

Related Tutorials


 
 

Share on Google+Share on Google+

Zip File Using Java

Advertisement
Here, you will learn to compress a file. You can compress any file using various standalone applications. These standalone applications are nothing but the zip tools.

Zipping a File

     

This example shows how to create a zip file in java. In other words, we will learn how to compress a file just to take less space. We can compress any file using various standalone applications. These standalone applications are nothing but the zip (compress or decompress )tools. Examples of zip tools are Winrar, WinZip etc. It is also possible to zip and unzip the files from your Java applications. This example shows how we zip a file through a java program.

The java.util.zip.DeflaterOutputStream class is immediate supper class of java.util.zip.ZipOutputStream class. java.util.zip. ZipOutputStream implements java.util.zip.ZipConstants interface. The class ZipOutStream implements an output stream filter to write files in the zip file format. This class can be used for both compressed and uncompressed files.

The java.io.FilterOutputStream class extends java.io.BufferedOutputStream class and implements a buffered output stream. We can write a byte steam into a file on the system. The java.io.FileInputStream class extends java.io.InputStream class. FileInputStream class is used to obtain input bytes from a file in a file system. The FileInputStream class is used to read stream of row bytes (such as image data), for reading streams of characters by considering FileReader class.

putNextEntry(new ZipEntry(filesToZip)):

This is the method of ZipOutputStream class which is used to enter files one by one to be zipped. This method is used to close previous zip entry if any active and create the next zip entry by passing the instance of the ZipEntry class which holds the file name to be zipped. In this example we are going to zip "profile.txt" into "outFile.zip" .To execute this example you first need to create profile.txt in same directory.

Here is the code of the program : 

import java.io.*;
import java.util.zip.*;
public class ZipFileExample
  {
public static void main(String a[])
  {
  try
  {
  ZipOutputStream out = new ZipOutputStream(new 
BufferedOutputStream
(new FileOutputStream("outFile.zip")));
  byte[] data = new byte[1000]
  BufferedInputStream in = new BufferedInputStream
(
new FileInputStream("profile.txt"));
  int count;
 out.putNextEntry(new ZipEntry("outFile.zip"));
 while((count = in.read(data,0,1000)) != -1)
 {  
 out.write(data, 0, count);
 }
 in.close();
 out.flush();
 out.close();
  System.out.println("Your file is zipped");
 }
 catch(Exception e)
  {
 e.printStackTrace();
  }  
 }
}

Download this example.

Advertisements

If you enjoyed this post then why not add us on Google+? Add us to your Circles



Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: June 19, 2007

Related Tutorials

Discuss: Zip File Using Java   View All Comments

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments:4
amol
June 12, 2011
java io

please explain java io
shawn
June 27, 2011
unknown

hi hope it works
Nishanth Thomas
December 1, 2011
Simple code

import java.io.*; import java.util.zip.*; public class ZipCreateExample{ /** * @param args the command line arguments * @throws FileNotFoundException */ public static void main(String[] args) throws Exception { // input file FileInputStream in = new FileInputStream("F:/Documents and Settings/nishanth1125/Desktop/ZipCreateExample.java");; // out put file ZipOutputStream out = new ZipOutputStream(new FileOutputStream("F:/Documents and Settings/nishanth1125/Desktop/tmp.zip")); // name of file out.putNextEntry(new ZipEntry("zippedjava.java")); byte[] b = new byte[1024]; int count; while ((count = in.read(b)) > 0) { System.out.println(); // write file in zip out.write(b, 0, count); } out.close(); in.close(); } }
mohit
July 17, 2012
Zipping a File

Instead of zipping a file, i want to zip a folder present on some location on my p.c (i.e D:\\java\pics) Is it possible? Any code-snippet will highly be appreciated.
DMCA.com