Interface ZipExtraField

All Known Subinterfaces:
CentralDirectoryParsingZipExtraField
All Known Implementing Classes:
AbstractUnicodeExtraField, AsiExtraField, JarMarker, UnicodeCommentExtraField, UnicodePathExtraField, UnparseableExtraFieldData, UnrecognizedExtraField, Zip64ExtendedInformationExtraField

public interface ZipExtraField
General format of extra field data.

Extra fields usually appear twice per file, once in the local file data and once in the central directory. Usually they are the same, but they don't have to be. java.util.zip.ZipOutputStream will only use the local file data in both places.

  • Method Summary

    Modifier and Type Method Description
    byte[] getCentralDirectoryData()
    The actual data to put into central directory - without Header-ID or length specifier.
    ZipShort getCentralDirectoryLength()
    Length of the extra field in the central directory - without Header-ID or length specifier.
    ZipShort getHeaderId()
    The Header-ID.
    byte[] getLocalFileDataData()
    The actual data to put into local file data - without Header-ID or length specifier.
    ZipShort getLocalFileDataLength()
    Length of the extra field in the local file data - without Header-ID or length specifier.
    void parseFromLocalFileData​(byte[] data, int offset, int length)
    Populate data from this array as if it was in local file data.
  • Method Details

    • getHeaderId

      ZipShort getHeaderId()
      The Header-ID.
      Returns:
      the header id
      Since:
      1.1
    • getLocalFileDataLength

      ZipShort getLocalFileDataLength()
      Length of the extra field in the local file data - without Header-ID or length specifier.
      Returns:
      the length of the field in the local file data
      Since:
      1.1
    • getCentralDirectoryLength

      ZipShort getCentralDirectoryLength()
      Length of the extra field in the central directory - without Header-ID or length specifier.
      Returns:
      the length of the field in the central directory
      Since:
      1.1
    • getLocalFileDataData

      byte[] getLocalFileDataData()
      The actual data to put into local file data - without Header-ID or length specifier.
      Returns:
      the data
      Since:
      1.1
    • getCentralDirectoryData

      byte[] getCentralDirectoryData()
      The actual data to put into central directory - without Header-ID or length specifier.
      Returns:
      the data
      Since:
      1.1
    • parseFromLocalFileData

      void parseFromLocalFileData​(byte[] data, int offset, int length) throws java.util.zip.ZipException
      Populate data from this array as if it was in local file data.
      Parameters:
      data - an array of bytes
      offset - the start offset
      length - the number of bytes in the array from offset
      Throws:
      java.util.zip.ZipException - on error
      Since:
      1.1