TechieDrill Your World Of Technical Tutorials

Creating a zip file using java ZipOutputStream

01.02.2010 · Posted in Java

Following example explains how to read a file using file input stream and zip that file using zip output stream.  ZipOutputStream comes in package import java.util.zip.ZipOutputStream;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class FilesZippingSampleCode {
public static void main(String argum[]) {
try {
String sourceFile = “sampleFile.txt”;
String targetZip = “zipME.zip”;
ZipOutputStream zipOutputStream = new ZipOutputStream(new FileOutputStream(
targetZip));
FileInputStream fileInputStream = new FileInputStream(sourceFile);
// This is to put an entry in the Zip output stream
zipOutputStream.putNextEntry(new ZipEntry(sourceFile));
int size = 0;
byte[] bufferByte = new byte[1024];
// This allows to read a file from beginning till end of file and
// write it in a zip output stream
while ((size = fileInputStream.read(bufferByte, 0, bufferByte.length)) > 0) {
zipOutputStream.write(bufferByte, 0, size);
}
zipOutputStream.closeEntry();
//Close the fileInputStream
fileInputStream.close();
// Close zipOutputStream
zipOutputStream.close();
} catch (IOException iOException) {
iOException.printStackTrace();
}
}
}

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.zip.ZipEntry;

import java.util.zip.ZipOutputStream;

public class FilesZippingSampleCode {

public static void main(String argum[]) {

try {

String sourceFile = “sampleFile.txt”;

String targetZip = “zipME.zip”;

ZipOutputStream zipOutputStream = new ZipOutputStream(new FileOutputStream(

targetZip));

FileInputStream fileInputStream = new FileInputStream(sourceFile);

// This is to put an entry in the Zip output stream

zipOutputStream.putNextEntry(new ZipEntry(sourceFile));

int size = 0;

byte[] bufferByte = new byte[1024];

// This allows to read a file from beginning till end of file and

// write it in a zip output stream

while ((size = fileInputStream.read(bufferByte, 0, bufferByte.length)) > 0) {

zipOutputStream.write(bufferByte, 0, size);

}

zipOutputStream.closeEntry();

//Close the fileInputStream

fileInputStream.close();

// Close zipOutputStream

zipOutputStream.close();

} catch (IOException iOException) {

iOException.printStackTrace();

}

}

}

Leave a Reply

You must be logged in to post a comment.