Known Direct Subclasses
JarOutputStream |
The JarOutputStream is used to write data in the JarFile
format to an arbitrary output stream
|
|
Class Overview
Used to write (compress) data into zip files.
ZipOutputStream
is used to write ZipEntry
s to the underlying
stream. Output from ZipOutputStream
can be read using ZipFile
or ZipInputStream
.
While DeflaterOutputStream
can write compressed zip file
entries, this extension can write uncompressed entries as well.
Use setMethod(int)
or setMethod(int)
with the STORED
flag.
Example
Using ZipOutputStream
is a little more complicated than GZIPOutputStream
because zip files are containers that can contain multiple files. This code creates a zip
file 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 Constructors |
|
ZipOutputStream(OutputStream os)
Constructs a new ZipOutputStream that writes a zip file to the given
OutputStream .
|
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 comment associated with the file being written.
|
void
|
setLevel(int level)
|
void
|
setMethod(int method)
Sets the default compression method to be used when a ZipEntry doesn't
explicitly specify a method.
|
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(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)
Equivalent to write(buffer, 0, buffer.length) .
|
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()
Invoked when the garbage collector has detected that this instance is no longer reachable.
|
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.
|
|
From interface
java.lang.AutoCloseable
abstract
void
|
close()
Closes the object and release any system resources it holds.
|
|
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 os)
Constructs a new ZipOutputStream
that writes a zip file to the given
OutputStream
.
UTF-8 will be used to encode the file comment, entry names and comments.
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 comment associated with the file being written. See getComment()
.
public
void
setLevel
(int level)
public
void
setMethod
(int method)
Sets the default compression method to be used when a ZipEntry
doesn't
explicitly specify a method. See setMethod(int)
for more details.
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. |