|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.io.OutputStream
org.apache.commons.compress.archivers.ArchiveOutputStream
public abstract class ArchiveOutputStream
Archive output stream implementations are expected to override the
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 for working with ArchiveOutputStreams is: + create ArchiveOutputStream object + write SFX header (optional, Zip only) + repeat as needed: - putArchiveEntry() (writes entry header) - write() (writes entry data) - closeArchiveEntry() (closes entry) + finish() (ends the addition of entries) + write additional data if format supports it (optional) + close()
Example usage:
TBA
Constructor Summary | |
---|---|
ArchiveOutputStream()
|
Method Summary | |
---|---|
boolean |
canWriteEntryData(ArchiveEntry ae)
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. |
protected void |
count(int written)
Increments the counter of already written bytes. |
protected void |
count(long written)
Increments the counter of already written bytes. |
abstract ArchiveEntry |
createArchiveEntry(File inputFile,
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. |
Methods inherited from class java.io.OutputStream |
---|
close, flush, write, write |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ArchiveOutputStream()
Method Detail |
---|
public abstract void putArchiveEntry(ArchiveEntry entry) throws IOException
closeArchiveEntry()
to complete the process.
entry
- describes the entry
IOException
public abstract void closeArchiveEntry() throws IOException
IOException
public abstract void finish() throws IOException
IOException
public abstract ArchiveEntry createArchiveEntry(File inputFile, String entryName) throws IOException
inputFile
- entryName
-
IOException
public void write(int b) throws IOException
OutputStream.write(byte[], int, int)
method
is not overridden; may be overridden otherwise.
write
in class OutputStream
b
- The byte to be written.
IOException
- on errorprotected void count(int written)
written
- the number of bytes writtenprotected void count(long written)
written
- the number of bytes writtenpublic int getCount()
public long getBytesWritten()
public boolean canWriteEntryData(ArchiveEntry ae)
Some archive formats support variants or details that are not supported (yet).
This implementation always returns true.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |