- java.util.zip Package Classes
- java.util.zip - Home
- java.util.zip - Adler32
- java.util.zip - CheckedInputStream
- java.util.zip - CheckedOutputStream
- java.util.zip - CRC32
- java.util.zip - Deflater
- java.util.zip - DeflaterInputStream
- java.util.zip - DeflaterOutputStream
- java.util.zip - GZIPInputStream
- java.util.zip - GZIPOutputStream
- java.util.zip - Inflater
- java.util.zip - InflaterInputStream
- java.util.zip - InflaterOutputStream
- java.util.zip - ZipEntry
- java.util.zip - ZipFile
- java.util.zip - ZipInputStream
- java.util.zip - ZipOutputStream
- java.util.zip Package Extras
- java.util.zip - Exceptions
- java.util.zip - Error
- java.util.zip Useful Resources
- java.util.zip - Quick Guide
- java.util.zip - Useful Resources
- java.util.zip - Discussion
java.util.zip.ZipOutputStream.setMethod() Method Example
The java.util.zip.ZipOutputStream.setMethod(int method) method sets the default compression method for subsequent entries. This default will be used whenever the compression method is not specified for an individual ZIP file entry, and is initially set to DEFLATED.
Declaration
Following is the declaration for java.util.zip.ZipOutputStream.setMethod(int method) method.
public void setMethod(int method)
Parameters
method − the default compression method.
Exceptions
IllegalArgumentException − if the compression method is invalid.
Pre-requisite
Create a file Hello.txt in D:> test > directory with the following content.
This is an example.
Example
The following example shows the usage of java.util.zip.ZipOutputStream.setMethod(int method) method.
package com.tutorialspoint; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.Date; import java.util.zip.Adler32; import java.util.zip.CheckedOutputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; import java.util.zip.ZipOutputStream; public class ZipOutputStreamDemo { private static String SOURCE_FILE = "D:\\test\\Hello.txt"; private static String TARGET_FILE = "D:\\test\\Hello.zip"; public static void main(String[] args) { try { createZipFile(); readZipFile(); } catch(IOException ioe) { System.out.println("IOException : " + ioe); } } private static void createZipFile() throws IOException{ FileOutputStream fout = new FileOutputStream(TARGET_FILE); CheckedOutputStream checksum = new CheckedOutputStream(fout, new Adler32()); ZipOutputStream zout = new ZipOutputStream(checksum); zout.setMethod(ZipOutputStream.DEFLATED); FileInputStream fin = new FileInputStream(SOURCE_FILE); ZipEntry zipEntry = new ZipEntry(SOURCE_FILE); zout.putNextEntry(zipEntry); int length; byte[] buffer = new byte[1024]; while((length = fin.read(buffer)) > 0) { zout.write(buffer, 0, length); } zout.closeEntry(); zout.finish(); fin.close(); zout.close(); } private static void readZipFile() throws IOException{ ZipInputStream zin = new ZipInputStream(new FileInputStream(TARGET_FILE)); ZipEntry entry; while((entry = zin.getNextEntry())!=null){ System.out.printf("File: %s Modified on %TD %n", entry.getName(), new Date(entry.getTime())); extractFile(entry, zin); System.out.printf("Zip file %s extracted successfully.", SOURCE_FILE); zin.closeEntry(); } zin.close(); } private static void extractFile(final ZipEntry entry, ZipInputStream is) throws IOException { FileOutputStream fos = null; try { fos = new FileOutputStream(entry.getName()); while(is.available() != 0){ fos.write(is.read()); } } catch (IOException ioex) { fos.close(); } } }
Let us compile and run the above program, this will produce the following result −
Zip File: D:\test\Hello.zip, Contains 1 file(s). File: D:\test\Hello.txt Size 1026 Modified on 05/22/17 Zip file D:\test\Hello.txt extracted successfully.Print
javazip_zipoutputstream.htm
Advertisements