byte[] fileNameBytes = raFile.readByteArray( fileOffsetPos+4, fileNameLength );
long nextFileOffset = raFile.getFilePointer();
String fileName = new String( fileNameBytes, charset );
ExtZipEntry zipEntry = new ExtZipEntry( fileName );
CentralDirectoryEntry cde = new CentralDirectoryEntry( raFile, fileOffset );
zipEntry.setCentralDirectoryEntry( cde );
zipEntry.setCompressedSize( cde.getCompressedSize() );
zipEntry.setSize( cde.getUncompressedSize() );
long dosTime = raFile.readInt( fileOffset + 12 );
zipEntry.setTime( ExtZipEntry.dosToJavaTime(dosTime) );
if( cde.isEncrypted() ) {
zipEntry.setMethod( cde.getActualCompressionMethod() );
zipEntry.setOffset( (int)(cde.getLocalHeaderOffset() + cde.getLocalHeaderSize()) + cde.getCryptoHeaderLength() );
zipEntry.initEncryptedEntry();
} else {
zipEntry.setMethod( ZipEntry.DEFLATED );
zipEntry.setPrimaryCompressionMethod( ZipEntry.DEFLATED );
}
nextFileOffset += extraFieldLength;
out.add(zipEntry);