de.schlichtherle.io.archive.zip
Class CheckedZipDriver
java.lang.Object
de.schlichtherle.io.archive.spi.AbstractArchiveDriver
de.schlichtherle.io.archive.zip.ZipDriver
de.schlichtherle.io.archive.zip.CheckedZipDriver
- All Implemented Interfaces:
- ArchiveDriver, Serializable
- Direct Known Subclasses:
- CheckedZip32Driver
public class CheckedZipDriver
- extends ZipDriver
An archive driver for ZIP files which checks the CRC-32 values for all
ZIP entries in input archives.
The additional CRC-32 computation makes this class slower than its super
class.
If there is a mismatch of the CRC-32 values for a ZIP entry in an input
archive, the InputStream.close() method of the corresponding
stream for the archive entry will throw a
CRC32Exception.
This exception is then propagated through the stack up to the corresponding
file operation in the package de.schlichtherle.io where it is
either allowed to pass on or is catched and processed accordingly.
For example, the FilterInputStream.close()
method would allow the CRC32Exception to pass on to the
client application, whereas the
File.catTo(OutputStream) method would simply
return false.
Other than this, the archive entry will be processed normally.
So if just the CRC-32 value for the entry in the archive file has been
modified, you can still read its entire contents.
Instances of this class are immutable.
- Since:
- TrueZIP 6.1
- Version:
- $Id: CheckedZipDriver.java,v 1.4 2010/08/20 13:09:51 christian_schlichtherle Exp $
- Author:
- Christian Schlichtherle
- See Also:
CheckedZipInputArchive,
Serialized Form
|
Constructor Summary |
CheckedZipDriver()
Equivalent to this(DEFAULT_CHARSET, null, null, false, false, DEFAULT_LEVEL). |
CheckedZipDriver(int level)
Equivalent to this(charset, null, null, false, false, DEFAULT_LEVEL). |
CheckedZipDriver(String charset)
Equivalent to this(charset, null, null, false, false, DEFAULT_LEVEL). |
CheckedZipDriver(String charset,
Icon openIcon,
Icon closedIcon,
boolean preambled,
boolean postambled,
int level)
Constructs a new checked ZIP driver. |
| Methods inherited from class de.schlichtherle.io.archive.zip.ZipDriver |
createArchiveEntry, createInputArchive, createOutputArchive, createZip32InputArchive, createZip32OutputArchive, createZipEntry, createZipEntry, createZipOutputArchive, getLevel, getPostambled, getPreambled |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CheckedZipDriver
public CheckedZipDriver()
- Equivalent to
this(DEFAULT_CHARSET, null, null, false, false, DEFAULT_LEVEL).
CheckedZipDriver
public CheckedZipDriver(String charset)
- Equivalent to
this(charset, null, null, false, false, DEFAULT_LEVEL).
CheckedZipDriver
public CheckedZipDriver(int level)
- Equivalent to
this(charset, null, null, false, false, DEFAULT_LEVEL).
CheckedZipDriver
public CheckedZipDriver(String charset,
Icon openIcon,
Icon closedIcon,
boolean preambled,
boolean postambled,
int level)
- Constructs a new checked ZIP driver.
createZipInputArchive
protected ZipInputArchive createZipInputArchive(Archive archive,
ReadOnlyFile rof)
throws IOException
- Overrides:
createZipInputArchive in class ZipDriver
- Throws:
IOException
Copyright © 2005-2010 Schlichtherle IT Services. All Rights Reserved.