Known Direct Subclasses
JarOutputStream |
The JarOutputStream is used to write data in the JarFile
format to an arbitrary output stream
|
|
Class Overview
This class provides an implementation of FilterOutputStream
that
compresses data entries into a ZIP-archive output stream.
ZipOutputStream
is used to write ZipEntries
to the underlying
stream. Output from ZipOutputStream
conforms to the ZipFile
file format.
While DeflaterOutputStream
can write a compressed ZIP-archive
entry, this extension can write uncompressed entries as well. In this case
special rules apply, for this purpose refer to the file format
specification.
Example
Using ZipOutputStream
is a little more complicated than GZIPOutputStream
because ZIP archives are containers that can contain multiple files. This code creates a ZIP
archive containing several files, similar to the zip(1)
utility.
OutputStream os = ...
ZipOutputStream zos = new ZipOutputStream(new BufferedOutputStream(os));
try {
for (int i = 0; i < fileCount; ++i) {
String filename = ...
byte[] bytes = ...
ZipEntry entry = new ZipEntry(filename);
zos.putNextEntry(entry);
zos.write(bytes);
zos.closeEntry();
}
} finally {
zos.close();
}
Summary
Public Methods |
void
|
close()
Closes the current ZipEntry , if any, and the underlying output
stream.
|
void
|
closeEntry()
Closes the current ZipEntry .
|
void
|
finish()
Indicates that all entries have been written to the stream.
|
void
|
putNextEntry(ZipEntry ze)
Writes entry information to the underlying stream.
|
void
|
setComment(String comment)
Sets the ZipFile comment associated with the file being written.
|
void
|
setLevel(int level)
Sets the compression level to be used for writing entry data.
|
void
|
setMethod(int method)
Sets the compression method to be used when compressing entry data.
|
void
|
write(byte[] buffer, int offset, int byteCount)
Writes data for the current entry to the underlying stream.
|
[Expand]
Inherited Methods |
From class
java.util.zip.DeflaterOutputStream
void
|
close()
Writes any unwritten compressed data to the underlying stream, the closes
all underlying streams.
|
void
|
deflate()
Compress the data in the input buffer and write it to the underlying
stream.
|
void
|
finish()
Writes any unwritten data to the underlying stream.
|
void
|
flush()
Flushes the underlying stream.
|
void
|
write(byte[] buffer, int offset, int byteCount)
Compresses byteCount bytes of data from buf starting at
offset and writes it to the underlying stream.
|
void
|
write(int i)
Writes one byte to the target stream.
|
|
From class
java.io.FilterOutputStream
void
|
close()
Closes this stream.
|
void
|
flush()
Ensures that all pending data is sent out to the target stream.
|
void
|
write(byte[] buffer, int offset, int length)
Writes count bytes from the byte array buffer starting at
offset to the target stream.
|
void
|
write(byte[] buffer)
Writes the entire contents of the byte array buffer to this
stream.
|
void
|
write(int oneByte)
Writes one byte to the target stream.
|
|
From class
java.io.OutputStream
void
|
close()
Closes this stream.
|
void
|
flush()
Flushes this stream.
|
void
|
write(byte[] buffer, int offset, int count)
Writes count bytes from the byte array buffer starting at
position offset to this stream.
|
void
|
write(byte[] buffer)
Writes the entire contents of the byte array buffer to this
stream.
|
abstract
void
|
write(int oneByte)
Writes a single byte to this stream.
|
|
From class
java.lang.Object
Object
|
clone()
Creates and returns a copy of this Object .
|
boolean
|
equals(Object o)
Compares this instance with the specified object and indicates if they
are equal.
|
void
|
finalize()
Called before the object's memory is reclaimed by the VM.
|
final
Class<?>
|
getClass()
Returns the unique instance of Class that represents this
object's class.
|
int
|
hashCode()
Returns an integer hash code for this object.
|
final
void
|
notify()
Causes a thread which is waiting on this object's monitor (by means of
calling one of the wait() methods) to be woken up.
|
final
void
|
notifyAll()
Causes all threads which are waiting on this object's monitor (by means
of calling one of the wait() methods) to be woken up.
|
String
|
toString()
Returns a string containing a concise, human-readable description of this
object.
|
final
void
|
wait()
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object.
|
final
void
|
wait(long millis, int nanos)
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the
specified timeout expires.
|
final
void
|
wait(long millis)
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the
specified timeout expires.
|
|
From interface
java.io.Closeable
abstract
void
|
close()
Closes the object and release any system resources it holds.
|
|
From interface
java.io.Flushable
abstract
void
|
flush()
Flushes the object by writing out any buffered data to the underlying
output.
|
|
Constants
public
static
final
int
CENATT
Constant Value:
36
(0x00000024)
public
static
final
int
CENATX
Constant Value:
38
(0x00000026)
public
static
final
int
CENCOM
Constant Value:
32
(0x00000020)
public
static
final
int
CENCRC
Constant Value:
16
(0x00000010)
public
static
final
int
CENDSK
Constant Value:
34
(0x00000022)
public
static
final
int
CENEXT
Constant Value:
30
(0x0000001e)
public
static
final
int
CENFLG
Constant Value:
8
(0x00000008)
public
static
final
int
CENHDR
Constant Value:
46
(0x0000002e)
public
static
final
int
CENHOW
Constant Value:
10
(0x0000000a)
public
static
final
int
CENLEN
Constant Value:
24
(0x00000018)
public
static
final
int
CENNAM
Constant Value:
28
(0x0000001c)
public
static
final
int
CENOFF
Constant Value:
42
(0x0000002a)
public
static
final
long
CENSIG
Constant Value:
33639248
(0x0000000002014b50)
public
static
final
int
CENSIZ
Constant Value:
20
(0x00000014)
public
static
final
int
CENTIM
Constant Value:
12
(0x0000000c)
public
static
final
int
CENVEM
Constant Value:
4
(0x00000004)
public
static
final
int
CENVER
Constant Value:
6
(0x00000006)
public
static
final
int
DEFLATED
Indicates deflated entries.
Constant Value:
8
(0x00000008)
public
static
final
int
ENDCOM
Constant Value:
20
(0x00000014)
public
static
final
int
ENDHDR
Constant Value:
22
(0x00000016)
public
static
final
int
ENDOFF
Constant Value:
16
(0x00000010)
public
static
final
long
ENDSIG
Constant Value:
101010256
(0x0000000006054b50)
public
static
final
int
ENDSIZ
Constant Value:
12
(0x0000000c)
public
static
final
int
ENDSUB
Constant Value:
8
(0x00000008)
public
static
final
int
ENDTOT
Constant Value:
10
(0x0000000a)
public
static
final
int
EXTCRC
Constant Value:
4
(0x00000004)
public
static
final
int
EXTHDR
Constant Value:
16
(0x00000010)
public
static
final
int
EXTLEN
Constant Value:
12
(0x0000000c)
public
static
final
long
EXTSIG
Constant Value:
134695760
(0x0000000008074b50)
public
static
final
int
EXTSIZ
Constant Value:
8
(0x00000008)
public
static
final
int
LOCCRC
Constant Value:
14
(0x0000000e)
public
static
final
int
LOCEXT
Constant Value:
28
(0x0000001c)
public
static
final
int
LOCFLG
Constant Value:
6
(0x00000006)
public
static
final
int
LOCHDR
Constant Value:
30
(0x0000001e)
public
static
final
int
LOCHOW
Constant Value:
8
(0x00000008)
public
static
final
int
LOCLEN
Constant Value:
22
(0x00000016)
public
static
final
int
LOCNAM
Constant Value:
26
(0x0000001a)
public
static
final
long
LOCSIG
Constant Value:
67324752
(0x0000000004034b50)
public
static
final
int
LOCSIZ
Constant Value:
18
(0x00000012)
public
static
final
int
LOCTIM
Constant Value:
10
(0x0000000a)
public
static
final
int
LOCVER
Constant Value:
4
(0x00000004)
public
static
final
int
STORED
Indicates uncompressed entries.
Constant Value:
0
(0x00000000)
Public Constructors
public
ZipOutputStream
(OutputStream p1)
Constructs a new ZipOutputStream
with the specified output
stream.
Parameters
p1
| the OutputStream to write the data to.
|
Public Methods
public
void
close
()
Closes the current ZipEntry
, if any, and the underlying output
stream. If the stream is already closed this method does nothing.
public
void
closeEntry
()
Closes the current ZipEntry
. Any entry terminal data is written
to the underlying stream.
public
void
finish
()
Indicates that all entries have been written to the stream. Any terminal
information is written to the underlying stream.
Throws
IOException
| if an error occurs while terminating the stream.
|
public
void
putNextEntry
(ZipEntry ze)
Writes entry information to the underlying stream. Data associated with
the entry can then be written using write()
. After data is
written closeEntry()
must be called to complete the writing of
the entry to the underlying stream.
Parameters
ze
| the ZipEntry to store. |
public
void
setComment
(String comment)
Sets the ZipFile
comment associated with the file being written.
Parameters
comment
| the comment associated with the file.
|
public
void
setLevel
(int level)
Sets the compression level to be used for writing entry data. This level
may be set on a per entry basis. The level must have a value between -1
and 8 according to the Deflater
compression level bounds.
Parameters
level
| the compression level (ranging from -1 to 8). |
public
void
setMethod
(int method)
Sets the compression method to be used when compressing entry data.
method must be one of STORED
(for no compression) or DEFLATED
.
Parameters
method
| the compression method to use.
|
public
void
write
(byte[] buffer, int offset, int byteCount)
Writes data for the current entry to the underlying stream.
Parameters
buffer
| the buffer to write. |
offset
| the index of the first byte in buffer to write. |
byteCount
| the number of bytes in buffer to write. |