org.apache.tools.zip
public class ZipOutputStream extends FilterOutputStream
This class will try to use {@link java.io.RandomAccessFile RandomAccessFile} when you know that the output is going to go to a file.
If RandomAccessFile cannot be used, this implementation will use a Data Descriptor to store size and CRC information for {@link #DEFLATED DEFLATED} entries, this means, you don't need to calculate them yourself. Unfortunately this is not possible for the {@link #STORED STORED} method, here setting the CRC and uncompressed size information is required before {@link #putNextEntry putNextEntry} can be called.
Field Summary | |
---|---|
protected byte[] | buf
This buffer servers as a Deflater.
|
protected static ZipLong | CFH_SIG
central file header signature
|
protected Deflater | def
This Deflater object is used for output.
|
protected static ZipLong | DD_SIG
data descriptor signature
|
static int | DEFLATED
Compression method for deflated entries.
|
protected static ZipLong | EOCD_SIG
end of central dir signature
|
protected static ZipLong | LFH_SIG
local file header signature
|
static int | STORED
Compression method for deflated entries.
|
Constructor Summary | |
---|---|
ZipOutputStream(OutputStream out)
Creates a new ZIP OutputStream filtering the underlying stream.
| |
ZipOutputStream(File file)
Creates a new ZIP OutputStream writing to a File. |
Method Summary | |
---|---|
protected static long | adjustToLong(int i)
Assumes a negative integer really is a positive integer that
has wrapped around and re-creates the original value.
|
void | close()
Closes this output stream and releases any system resources
associated with the stream.
|
void | closeEntry()
Writes all necessary data for this entry.
|
protected void | deflate()
Writes next block of compressed data to the output stream.
|
void | finish()
Finishs writing the contents and closes this as well as the
underlying stream.
|
void | flush()
Flushes this output stream and forces any buffered output bytes
to be written out to the stream.
|
protected byte[] | getBytes(String name)
Retrieve the bytes for the given String in the encoding set for
this Stream.
|
String | getEncoding()
The encoding to use for filenames and the file comment.
|
boolean | isSeekable()
This method indicates whether this archive is writing to a seekable stream (i.e., to a random
access file).
|
void | putNextEntry(ZipEntry ze)
Begin writing next entry.
|
void | setComment(String comment)
Set the file comment.
|
void | setEncoding(String encoding)
The encoding to use for filenames and the file comment.
|
void | setLevel(int level)
Sets the compression level for subsequent entries.
|
void | setMethod(int method)
Sets the default compression method for subsequent entries.
|
protected static ZipLong | toDosTime(Date time)
Convert a Date object to a DOS date/time field.
|
void | write(byte[] b, int offset, int length)
Writes bytes to ZIP entry. |
void | write(int b)
Writes a single byte to ZIP entry.
|
protected void | writeCentralDirectoryEnd()
Writes the "End of central dir record"
|
protected void | writeCentralFileHeader(ZipEntry ze)
Writes the central file header entry
|
protected void | writeDataDescriptor(ZipEntry ze)
Writes the data descriptor entry
|
protected void | writeLocalFileHeader(ZipEntry ze)
Writes the local file header entry
|
protected void | writeOut(byte[] data)
Write bytes to output or random access file
|
protected void | writeOut(byte[] data, int offset, int length)
Write bytes to output or random access file
|
This attribute is only protected to provide a level of API backwards compatibility. This class used to extend {@link java.util.zip.DeflaterOutputStream DeflaterOutputStream} up to Revision 1.13.
Since: 1.14
Since: 1.1
This attribute is only protected to provide a level of API backwards compatibility. This class used to extend {@link java.util.zip.DeflaterOutputStream DeflaterOutputStream} up to Revision 1.13.
Since: 1.14
Since: 1.1
Since: 1.1
Since: 1.1
Since: 1.1
Since: 1.1
Since: 1.1
Since: 1.14
Since: 1.17.2.8
Throws: IOException if an I/O error occurs.
Since: 1.14
Since: 1.1
Since: 1.14
Since: 1.1
Throws: IOException if an I/O error occurs.
Since: 1.14
Since: 1.3
Returns: null if using the platform's default character encoding.
Since: 1.3
For seekable streams, you don't need to calculate the CRC or uncompressed size for {@link #STORED} entries before invoking {@link #putNextEntry}.
Since: 1.17
Since: 1.1
Since: 1.1
For a list of possible values see http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html. Defaults to the platform's default character encoding.
Since: 1.3
Default is Deflater.DEFAULT_COMPRESSION.
Since: 1.1
Default is DEFLATED.
Since: 1.1
Stolen from InfoZip's fileio.c
Since: 1.1
Delegates to the three arg method.
Since: 1.14
Since: 1.1
Since: 1.1
Since: 1.1
Since: 1.1
Since: 1.14
Since: 1.14