public abstract class ArchiveOutputStream
extends java.io.OutputStream
OutputStream.write(byte[], int, int)
method to improve performance.
They should also override OutputStream.close()
to ensure that any necessary
trailers are added.
The normal sequence of calls when working with ArchiveOutputStreams is:
putArchiveEntry(ArchiveEntry)
(writes entry header),
OutputStream.write(byte[])
(writes entry data, as often as needed),
closeArchiveEntry()
(closes entry),
finish()
(ends the addition of entries),OutputStream.close()
.Constructor and Description |
---|
ArchiveOutputStream() |
Modifier and Type | Method and Description |
---|---|
boolean |
canWriteEntryData(ArchiveEntry archiveEntry)
Whether this stream is able to write the given entry.
|
abstract void |
closeArchiveEntry()
Closes the archive entry, writing any trailer information that may
be required.
|
abstract ArchiveEntry |
createArchiveEntry(java.io.File inputFile,
java.lang.String entryName)
Create an archive entry using the inputFile and entryName provided.
|
abstract void |
finish()
Finishes the addition of entries to this stream, without closing it.
|
long |
getBytesWritten()
Returns the current number of bytes written to this stream.
|
int |
getCount()
Deprecated.
this method may yield wrong results for large
archives, use #getBytesWritten instead
|
abstract void |
putArchiveEntry(ArchiveEntry entry)
Writes the headers for an archive entry to the output stream.
|
void |
write(int b)
Writes a byte to the current archive entry.
|
public abstract void putArchiveEntry(ArchiveEntry entry) throws java.io.IOException
closeArchiveEntry()
to complete the process.entry
- describes the entryjava.io.IOException
- if an I/O error occurspublic abstract void closeArchiveEntry() throws java.io.IOException
java.io.IOException
- if an I/O error occurspublic abstract void finish() throws java.io.IOException
java.io.IOException
- if the user forgets to close the entry.public abstract ArchiveEntry createArchiveEntry(java.io.File inputFile, java.lang.String entryName) throws java.io.IOException
inputFile
- the file to create the entry fromentryName
- name to use for the entryjava.io.IOException
- if an I/O error occurspublic void write(int b) throws java.io.IOException
This method simply calls write( byte[], 0, 1 )
.
MUST be overridden if the OutputStream.write(byte[], int, int)
method
is not overridden; may be overridden otherwise.
write
in class java.io.OutputStream
b
- The byte to be written.java.io.IOException
- on error@Deprecated public int getCount()
public long getBytesWritten()
public boolean canWriteEntryData(ArchiveEntry archiveEntry)
Some archive formats support variants or details that are not supported (yet).
archiveEntry
- the entry to test"Copyright © 2010 - 2020 Adobe Systems Incorporated. All Rights Reserved"