类 AsiExtraField

java.lang.Object
com.sh.common.zip.AsiExtraField
所有已实现的接口:
UnixStat, ZipExtraField, Cloneable

public class AsiExtraField extends Object implements ZipExtraField, UnixStat, Cloneable
Adds Unix file permission and UID/GID fields as well as symbolic link handling.

This class uses the ASi extra field in the format:

         Value         Size            Description
         -----         ----            -----------
 (Unix3) 0x756e        Short           tag for this extra block type
         TSize         Short           total data size for this block
         CRC           Long            CRC-32 of the remaining data
         Mode          Short           file permissions
         SizDev        Long            symlink'd size OR major/minor dev num
         UID           Short           user ID
         GID           Short           group ID
         (var.)        variable        symbolic link filename
 

Short is two bytes and Long is four bytes in big endian byte and word order, device numbers are currently not supported.

  • 构造器详细资料

    • AsiExtraField

      public AsiExtraField()
      Constructor for AsiExtraField.
  • 方法详细资料

    • getHeaderId

      public ZipShort getHeaderId()
      The Header-ID.
      指定者:
      getHeaderId 在接口中 ZipExtraField
      返回:
      the value for the header id for this extrafield
      从以下版本开始:
      1.1
    • getLocalFileDataLength

      public ZipShort getLocalFileDataLength()
      Length of the extra field in the local file data - without Header-ID or length specifier.
      指定者:
      getLocalFileDataLength 在接口中 ZipExtraField
      返回:
      a ZipShort for the length of the data of this extra field
      从以下版本开始:
      1.1
    • getCentralDirectoryLength

      public ZipShort getCentralDirectoryLength()
      Delegate to local file data.
      指定者:
      getCentralDirectoryLength 在接口中 ZipExtraField
      返回:
      the centralDirectory length
      从以下版本开始:
      1.1
    • getLocalFileDataData

      public byte[] getLocalFileDataData()
      The actual data to put into local file data - without Header-ID or length specifier.
      指定者:
      getLocalFileDataData 在接口中 ZipExtraField
      返回:
      get the data
      从以下版本开始:
      1.1
    • getCentralDirectoryData

      public byte[] getCentralDirectoryData()
      Delegate to local file data.
      指定者:
      getCentralDirectoryData 在接口中 ZipExtraField
      返回:
      the local file data
      从以下版本开始:
      1.1
    • setUserId

      public void setUserId(int uid)
      Set the user id.
      参数:
      uid - the user id
      从以下版本开始:
      1.1
    • getUserId

      public int getUserId()
      Get the user id.
      返回:
      the user id
      从以下版本开始:
      1.1
    • setGroupId

      public void setGroupId(int gid)
      Set the group id.
      参数:
      gid - the group id
      从以下版本开始:
      1.1
    • getGroupId

      public int getGroupId()
      Get the group id.
      返回:
      the group id
      从以下版本开始:
      1.1
    • setLinkedFile

      public void setLinkedFile(String name)
      Indicate that this entry is a symbolic link to the given filename.
      参数:
      name - Name of the file this entry links to, empty String if it is not a symbolic link.
      从以下版本开始:
      1.1
    • getLinkedFile

      public String getLinkedFile()
      Name of linked file
      返回:
      name of the file this entry links to if it is a symbolic link, the empty string otherwise.
      从以下版本开始:
      1.1
    • isLink

      public boolean isLink()
      Is this entry a symbolic link?
      返回:
      true if this is a symbolic link
      从以下版本开始:
      1.1
    • setMode

      public void setMode(int mode)
      File mode of this file.
      参数:
      mode - the file mode
      从以下版本开始:
      1.1
    • getMode

      public int getMode()
      File mode of this file.
      返回:
      the file mode
      从以下版本开始:
      1.1
    • setDirectory

      public void setDirectory(boolean dirFlag)
      Indicate whether this entry is a directory.
      参数:
      dirFlag - if true, this entry is a directory
      从以下版本开始:
      1.1
    • isDirectory

      public boolean isDirectory()
      Is this entry a directory?
      返回:
      true if this entry is a directory
      从以下版本开始:
      1.1
    • parseFromLocalFileData

      public void parseFromLocalFileData(byte[] data, int offset, int length) throws ZipException
      Populate data from this array as if it was in local file data.
      指定者:
      parseFromLocalFileData 在接口中 ZipExtraField
      参数:
      data - an array of bytes
      offset - the start offset
      length - the number of bytes in the array from offset
      抛出:
      ZipException - on error
      从以下版本开始:
      1.1
    • getMode

      protected int getMode(int mode)
      Get the file mode for given permissions with the correct file type.
      参数:
      mode - the mode
      返回:
      the type with the mode
      从以下版本开始:
      1.1
    • clone

      public Object clone()
      覆盖:
      clone 在类中 Object