Package net.lingala.zip4j.headers
Class HeaderReader
- java.lang.Object
-
- net.lingala.zip4j.headers.HeaderReader
-
public class HeaderReader extends java.lang.ObjectHelper 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 longgetNumberOfEntriesInCentralDirectory(ZipModel zipModel)booleanisDirectory(byte[] externalFileAttributes, java.lang.String fileName)private longlocateOffsetOfEndOfCentralDirectory(java.io.RandomAccessFile randomAccessFile)private longlocateOffsetOfEndOfCentralDirectoryByReverseSeek(java.io.RandomAccessFile randomAccessFile)private java.util.List<ExtraDataRecord>parseExtraDataRecords(byte[] extraFieldBuf, int extraFieldLength)private AESExtraDataRecordreadAesExtraDataRecord(java.util.List<ExtraDataRecord> extraDataRecords, RawIO rawIO)private voidreadAesExtraDataRecord(AbstractFileHeader fileHeader, RawIO rawIO)ZipModelreadAllHeaders(java.io.RandomAccessFile zip4jRaf, Zip4jConfig zip4jConfig)private CentralDirectoryreadCentralDirectory(java.io.RandomAccessFile zip4jRaf, RawIO rawIO, java.nio.charset.Charset charset)DataDescriptorreadDataDescriptor(java.io.InputStream inputStream, boolean isZip64Format)private EndOfCentralDirectoryRecordreadEndOfCentralDirectoryRecord(java.io.RandomAccessFile zip4jRaf, RawIO rawIO, Zip4jConfig zip4jConfig)private java.util.List<ExtraDataRecord>readExtraDataRecords(java.io.InputStream inputStream, int extraFieldLength)private voidreadExtraDataRecords(java.io.InputStream inputStream, LocalFileHeader localFileHeader)private java.util.List<ExtraDataRecord>readExtraDataRecords(java.io.RandomAccessFile zip4jRaf, int extraFieldLength)private voidreadExtraDataRecords(java.io.RandomAccessFile zip4jRaf, FileHeader fileHeader)LocalFileHeaderreadLocalFileHeader(java.io.InputStream inputStream, java.nio.charset.Charset charset)private Zip64EndOfCentralDirectoryRecordreadZip64EndCentralDirRec(java.io.RandomAccessFile zip4jRaf, RawIO rawIO)private Zip64EndOfCentralDirectoryLocatorreadZip64EndOfCentralDirectoryLocator(java.io.RandomAccessFile zip4jRaf, RawIO rawIO, long offsetEndOfCentralDirectoryRecord)private Zip64ExtendedInforeadZip64ExtendedInfo(java.util.List<ExtraDataRecord> extraDataRecords, RawIO rawIO, long uncompressedSize, long compressedSize, long offsetLocalHeader, int diskNumberStart)private voidreadZip64ExtendedInfo(FileHeader fileHeader, RawIO rawIO)private voidreadZip64ExtendedInfo(LocalFileHeader localFileHeader, RawIO rawIO)private java.lang.StringreadZipComment(java.io.RandomAccessFile raf, int commentLength, java.nio.charset.Charset charset)private voidseekInCurrentPart(java.io.RandomAccessFile randomAccessFile, long pos)private voidsetFilePointerToReadZip64EndCentralDirLoc(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)
-
-