Java Fundamental Classes Reference

Previous Chapter 18
The java.util.zip Package
Next
 

ZipOutputStream

Name

ZipOutputStream

Synopsis

Class Name:

java.util.zip.ZipOutputStream

Superclass:

java.util.zip.DeflaterOutputStream

Immediate Subclasses:

None

Interfaces Implemented:

None

Availability:

New as of JDK 1.1

Description

The ZipOutputStream class writes compressed files in the ZIP format. To write a ZIP file, construct a ZipOutputStream that wraps a regular output stream. You have to create a ZipEntry for each entry in the file. The putNextEntry() method puts the entry in the file, so that you can then use the write() method to write data for that entry. When you finish writing the data for an entry, call closeEntry() to close that entry and putNextEntry() to start another entry.

The setMethod() method specifies whether the data is compressed or uncompressed by default; setLevel() specifies the level of compression that is used by default. These values can be overridden by the method and level set for a particular entry. If you are storing compressed (deflated) files, you need only specify a name for each ZipEntry ; the other fields are filled in automatically. If, however, you are placing uncompressed entries, you need to specify the size of each entry and provide a CRC-32 checksum value.

Class Summary

public class java.util.zip.ZipOutputStream
             extends java.util.zip.DeflaterOutputStream {
  // Constants
  public static final int DEFLATED;
  public static final int STORED;
  // Constructors
  public ZipOutputStream(OutputStream out);
  // Instance Methods
  public void close();
  public void closeEntry();
  public void finish();
  public void putNextEntry(ZipEntry e);
  public void setComment(String comment);
  public void setLevel(int level);
  public void setMethod(int method);
  public synchronized void write(byte[] b, int off, int len);
}

Constants

DEFLATED

public static final int DEFLATED

Description

A constant that represents an entry is stored using the deflate algorithm.

STORED

public static final int STORED

Description

A constant that represents a ZIP file entry is stored verbatim; in other words, with no compression applied.

Constructors

ZipOutputStream

public ZipOutputStream(OutputStream out)

Parameters

out

The underlying output stream.

Description

This constructor creates a ZipOutputStream that writes compressed data to the given OutputStream.

Instance Methods

close

public void close() throws IOException

Throws

ZipException

If a ZIP file format error occurs.

IOException

If any other kind of I/O error occurs.

Overrides

DeflaterOutputStream.close()

Description

This method closes the stream and releases any system resources that are associated with it.

closeEntry

public void closeEntry() throws IOException

Throws

ZipException

If a ZIP file format error occurs.

IOException

If any other kind of I/O error occurs.

Description

This method closes the currently open entry in the ZIP file. A subsequent entry can be started with putNextEntry().

finish

public void finish() throws IOException

Throws

ZipException

If a ZIP file format error occurs.

IOException

If any other kind of I/O error occurs.

Overrides

DeflaterOutputStream.finish()

Description

This method finishes writing compressed data to the underlying stream without closing it.

putNextEntry

public void putNextEntry(ZipEntry e) throws IOException

Parameters

e

The new entry.

Throws

ZipException

If a ZIP file format error occurs.

IOException

If any other kind of I/O error occurs.

Description

This method writes the information in the given ZipEntry to the stream and positions the stream for the entry data. The actual entry data can then be written to the stream using write(). The default compression method and level are used if one is not specified for the entry. When all of the entry data has been written, use closeEntry() to finish the entry.

If this method is called when there is already an open entry, that entry is closed and this entry is opened.

setComment

public void setComment(String comment)

Parameters

comment

The new comment string.

Throws

IllegalArgumentException

If comment is longer than 0xFFFF bytes.

Description

This method sets the comment string for this ZIP file.

setLevel

public void setLevel(int level)

Parameters

level

A compression level, from 0 (NO_COMPRESSION) to 9 (BEST_COMPRESSION).

Throws

IllegalArgumentException

If level is not valid.

Description

This method sets the default compression level of subsequent DEFLATED entries. The default value is Deflater.DEFAULT_COMPRESSION.

setMethod

public void setMethod(int method)

Parameters

method

A compression method, either DEFLATED or STORED.

Throws

IllegalArgumentException

If method is not valid.

Description

This method sets the default compression method of this ZipOutputStream for entries that do not specify a method.

write

 public synchronized void write(byte[] b, int off, int len) throws IOException 

Parameters

b

An array of bytes to write to the stream.

off

An offset into the byte array.

len

The number of bytes to write.

Throws

ZipException

If a ZIP file format error occurs.

IOException

If any other kind of I/O error occurs.

Overrides

DeflaterOutputStream.write(byte[], int, int)

Description

This method takes len bytes from the given buffer, starting at off, and compresses them. The method then writes the compressed data to the underlying OutputStream for the current entry. The method blocks until all the bytes have been written.

Inherited Methods

Method

Inherited From

Method

Inherited From

clone()

Object

equals(Object)

Object

finalize()

Object

flush()

FilterOutputStream

getClass()

Object

hashCode()

Object

notify()

Object

notifyAll()

Object

toString()

Object

wait()

Object

wait(long)

Object

wait(long, int)

Object

write(int)

DeflaterOutputStream

write(byte[])

FilterOutputStream

See Also

Deflater, DeflaterOutputStream, IllegalArgumentException, IOException, OutputStream, ZipEntry, ZipException


Previous Home Next
ZipInputStream Book Index The Unicode 2.0 Character Set

Java in a Nutshell Java Language Reference Java AWT Java Fundamental Classes Exploring Java