Package net.lingala.zip4j.headers
Class HeaderReader
- java.lang.Object
-
- net.lingala.zip4j.headers.HeaderReader
-
public class HeaderReader extends java.lang.Object
Helper class to read header information for the zip file
-
-
Constructor Summary
Constructors Constructor Description HeaderReader()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private long
getNumberOfEntriesInCentralDirectory(ZipModel zipModel)
boolean
isDirectory(byte[] externalFileAttributes, java.lang.String fileName)
private long
locateOffsetOfEndOfCentralDirectory(java.io.RandomAccessFile randomAccessFile)
private long
locateOffsetOfEndOfCentralDirectoryByReverseSeek(java.io.RandomAccessFile randomAccessFile)
private java.util.List<ExtraDataRecord>
parseExtraDataRecords(byte[] extraFieldBuf, int extraFieldLength)
private AESExtraDataRecord
readAesExtraDataRecord(java.util.List<ExtraDataRecord> extraDataRecords, RawIO rawIO)
private void
readAesExtraDataRecord(AbstractFileHeader fileHeader, RawIO rawIO)
ZipModel
readAllHeaders(java.io.RandomAccessFile zip4jRaf, Zip4jConfig zip4jConfig)
private CentralDirectory
readCentralDirectory(java.io.RandomAccessFile zip4jRaf, RawIO rawIO, java.nio.charset.Charset charset)
DataDescriptor
readDataDescriptor(java.io.InputStream inputStream, boolean isZip64Format)
private EndOfCentralDirectoryRecord
readEndOfCentralDirectoryRecord(java.io.RandomAccessFile zip4jRaf, RawIO rawIO, Zip4jConfig zip4jConfig)
private java.util.List<ExtraDataRecord>
readExtraDataRecords(java.io.InputStream inputStream, int extraFieldLength)
private void
readExtraDataRecords(java.io.InputStream inputStream, LocalFileHeader localFileHeader)
private java.util.List<ExtraDataRecord>
readExtraDataRecords(java.io.RandomAccessFile zip4jRaf, int extraFieldLength)
private void
readExtraDataRecords(java.io.RandomAccessFile zip4jRaf, FileHeader fileHeader)
LocalFileHeader
readLocalFileHeader(java.io.InputStream inputStream, java.nio.charset.Charset charset)
private Zip64EndOfCentralDirectoryRecord
readZip64EndCentralDirRec(java.io.RandomAccessFile zip4jRaf, RawIO rawIO)
private Zip64EndOfCentralDirectoryLocator
readZip64EndOfCentralDirectoryLocator(java.io.RandomAccessFile zip4jRaf, RawIO rawIO, long offsetEndOfCentralDirectoryRecord)
private Zip64ExtendedInfo
readZip64ExtendedInfo(java.util.List<ExtraDataRecord> extraDataRecords, RawIO rawIO, long uncompressedSize, long compressedSize, long offsetLocalHeader, int diskNumberStart)
private void
readZip64ExtendedInfo(FileHeader fileHeader, RawIO rawIO)
private void
readZip64ExtendedInfo(LocalFileHeader localFileHeader, RawIO rawIO)
private java.lang.String
readZipComment(java.io.RandomAccessFile raf, int commentLength, java.nio.charset.Charset charset)
private void
seekInCurrentPart(java.io.RandomAccessFile randomAccessFile, long pos)
private void
setFilePointerToReadZip64EndCentralDirLoc(java.io.RandomAccessFile zip4jRaf, long offsetEndOfCentralDirectoryRecord)
-
-
-
Method Detail
-
readAllHeaders
public ZipModel readAllHeaders(java.io.RandomAccessFile zip4jRaf, Zip4jConfig zip4jConfig) throws java.io.IOException
- Throws:
java.io.IOException
-
readEndOfCentralDirectoryRecord
private EndOfCentralDirectoryRecord readEndOfCentralDirectoryRecord(java.io.RandomAccessFile zip4jRaf, RawIO rawIO, Zip4jConfig zip4jConfig) throws java.io.IOException
- Throws:
java.io.IOException
-
readCentralDirectory
private CentralDirectory readCentralDirectory(java.io.RandomAccessFile zip4jRaf, RawIO rawIO, java.nio.charset.Charset charset) throws java.io.IOException
- Throws:
java.io.IOException
-
readExtraDataRecords
private void readExtraDataRecords(java.io.RandomAccessFile zip4jRaf, FileHeader fileHeader) throws java.io.IOException
- Throws:
java.io.IOException
-
readExtraDataRecords
private void readExtraDataRecords(java.io.InputStream inputStream, LocalFileHeader localFileHeader) throws java.io.IOException
- Throws:
java.io.IOException
-
readExtraDataRecords
private java.util.List<ExtraDataRecord> readExtraDataRecords(java.io.RandomAccessFile zip4jRaf, int extraFieldLength) throws java.io.IOException
- Throws:
java.io.IOException
-
readExtraDataRecords
private java.util.List<ExtraDataRecord> readExtraDataRecords(java.io.InputStream inputStream, int extraFieldLength) throws java.io.IOException
- Throws:
java.io.IOException
-
parseExtraDataRecords
private java.util.List<ExtraDataRecord> parseExtraDataRecords(byte[] extraFieldBuf, int extraFieldLength)
-
readZip64EndOfCentralDirectoryLocator
private Zip64EndOfCentralDirectoryLocator readZip64EndOfCentralDirectoryLocator(java.io.RandomAccessFile zip4jRaf, RawIO rawIO, long offsetEndOfCentralDirectoryRecord) throws java.io.IOException
- Throws:
java.io.IOException
-
readZip64EndCentralDirRec
private Zip64EndOfCentralDirectoryRecord readZip64EndCentralDirRec(java.io.RandomAccessFile zip4jRaf, RawIO rawIO) throws java.io.IOException
- Throws:
java.io.IOException
-
readZip64ExtendedInfo
private void readZip64ExtendedInfo(FileHeader fileHeader, RawIO rawIO)
-
readZip64ExtendedInfo
private void readZip64ExtendedInfo(LocalFileHeader localFileHeader, RawIO rawIO) throws ZipException
- Throws:
ZipException
-
readZip64ExtendedInfo
private Zip64ExtendedInfo readZip64ExtendedInfo(java.util.List<ExtraDataRecord> extraDataRecords, RawIO rawIO, long uncompressedSize, long compressedSize, long offsetLocalHeader, int diskNumberStart)
-
setFilePointerToReadZip64EndCentralDirLoc
private void setFilePointerToReadZip64EndCentralDirLoc(java.io.RandomAccessFile zip4jRaf, long offsetEndOfCentralDirectoryRecord) throws java.io.IOException
- Throws:
java.io.IOException
-
readLocalFileHeader
public LocalFileHeader readLocalFileHeader(java.io.InputStream inputStream, java.nio.charset.Charset charset) throws java.io.IOException
- Throws:
java.io.IOException
-
readDataDescriptor
public DataDescriptor readDataDescriptor(java.io.InputStream inputStream, boolean isZip64Format) throws java.io.IOException
- Throws:
java.io.IOException
-
readAesExtraDataRecord
private void readAesExtraDataRecord(AbstractFileHeader fileHeader, RawIO rawIO) throws ZipException
- Throws:
ZipException
-
readAesExtraDataRecord
private AESExtraDataRecord readAesExtraDataRecord(java.util.List<ExtraDataRecord> extraDataRecords, RawIO rawIO) throws ZipException
- Throws:
ZipException
-
getNumberOfEntriesInCentralDirectory
private long getNumberOfEntriesInCentralDirectory(ZipModel zipModel)
-
locateOffsetOfEndOfCentralDirectory
private long locateOffsetOfEndOfCentralDirectory(java.io.RandomAccessFile randomAccessFile) throws java.io.IOException
- Throws:
java.io.IOException
-
locateOffsetOfEndOfCentralDirectoryByReverseSeek
private long locateOffsetOfEndOfCentralDirectoryByReverseSeek(java.io.RandomAccessFile randomAccessFile) throws java.io.IOException
- Throws:
java.io.IOException
-
seekInCurrentPart
private void seekInCurrentPart(java.io.RandomAccessFile randomAccessFile, long pos) throws java.io.IOException
- Throws:
java.io.IOException
-
readZipComment
private java.lang.String readZipComment(java.io.RandomAccessFile raf, int commentLength, java.nio.charset.Charset charset)
-
isDirectory
public boolean isDirectory(byte[] externalFileAttributes, java.lang.String fileName)
-
-