Creating a ZIP file in Java

Zip File: Zip file format is the popular method
of data compression. Zip file contains many files in compressed format. You can
say the files are stored in the zip format with compression. The file which is
in the zip format holds the ".zip" extension.
You can make executable file in zip format. You can
archive data from the zip file by extracting it. For create a zip file from
other type of file, following program gives you the best way of making it
possible through you code in java application.
Program Result:
This program makes a zip file from only one file which
is given by you. It takes a file to make it into zip format and it takes the zip
file name which has to be created from the given file. Finally, it makes the zip
file. You can archive the file from the zip file by extracting, if you want.
Code Description:
Several methods and APIs are used in the following
program for making a zip file from the given file. These are explained as
follows:
ZipOutputStream:
ZipOutputStream is the class of java.util.zip.*; package. This class
is used to compression the file whether the file is compressed on uncompressed.
ZipOutputStream.setLevel(Deflater.DEFAULT_COMPRESSION):
Above mentioned is the setLevel() method of ZipOutputStream class
which sets the level of the compression process. This method takes a argument
which is the built-in field of the Deflater class.
Deflater:
This is the class of java.util.zip.*; package. This class provides
the compression using the ZLIB
compression library.
Here is the code of the program:
import java.io.*;
import java.util.zip.*;
public class ZipCreateExample{
public static void main(String[] args) throws IOException{
System.out.print("Please enter file name to zip : ");
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
String filesToZip = input.readLine();
File f = new File(filesToZip);
if(!f.exists()){
System.out.println("File not found.");
System.exit(0);
}
System.out.print("Please enter zip file name : ");
String zipFileName = input.readLine();
if (!zipFileName.endsWith(".zip"))
zipFileName = zipFileName + ".zip";
byte[] buffer = new byte[18024];
try{
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFileName));
out.setLevel(Deflater.DEFAULT_COMPRESSION);
FileInputStream in = new FileInputStream(filesToZip);
out.putNextEntry(new ZipEntry(filesToZip));
int len;
while ((len = in.read(buffer)) > 0){
out.write(buffer, 0, len);
}
out.closeEntry();
in.close();
out.close();
}
catch (IllegalArgumentException iae){
iae.printStackTrace();
System.exit(0);
}
catch (FileNotFoundException fnfe){
fnfe.printStackTrace();
System.exit(0);
}
catch (IOException ioe){
ioe.printStackTrace();
System.exit(0);
}
}
}
|
Download this example.

|
Current Comments
0 comments so far (post your own) View All Comments Latest 10 Comments: