Class DirectoryInputStream

java.lang.Object
java.io.InputStream
aQute.lib.putjar.DirectoryInputStream
All Implemented Interfaces:
Closeable, AutoCloseable

public class DirectoryInputStream extends InputStream
  • Field Details

  • Constructor Details

    • DirectoryInputStream

      public DirectoryInputStream(File dir)
  • Method Details

    • read

      public int read() throws IOException
      Specified by:
      read in class InputStream
      Throws:
      IOException
    • next

      void next() throws IOException
      Throws:
      IOException
    • nextHeader

      private void nextHeader() throws IOException
      Throws:
      IOException
    • getDirectory

      InputStream getDirectory() throws IOException
        end of central dir signature 4 bytes (0x06054b50) number of this
       disk 2 bytes number of the disk with the start of the central directory 2
       bytes total number of entries in the central directory on this disk 2
       bytes total number of entries in the central directory 2 bytes size of
       the central directory 4 bytes offset of start of central directory with
       respect to the starting disk number 4 bytes .ZIP file comment length 2
       bytes .ZIP file comment (variable size)
       
      Throws:
      IOException
    • writeShort

      private void writeShort(OutputStream out, int v) throws IOException
      Throws:
      IOException
    • writeInt

      private void writeInt(OutputStream out, int v) throws IOException
      Throws:
      IOException
    • getHeader

      private InputStream getHeader(File root, File file) throws IOException
      Local file header:
        local file header signature 4 bytes (0x04034b50)
       version needed to extract 2 bytes general purpose bit flag 2 bytes
       compression method 2 bytes last mod file time 2 bytes last mod file date
       2 bytes crc-32 4 bytes compressed size 4 bytes uncompressed size 4 bytes
       file name length 2 bytes extra field length 2 bytes file name (variable
       size) extra field (variable size) central file header signature 4 bytes
       (0x02014b50) version made by 2 bytes version needed to extract 2 bytes
       general purpose bit flag 2 bytes compression method 2 bytes last mod file
       time 2 bytes last mod file date 2 bytes crc-32 4 bytes compressed size 4
       bytes uncompressed size 4 bytes file name length 2 bytes extra field
       length 2 bytes file comment length 2 bytes disk number start 2 bytes
       internal file attributes 2 bytes external file attributes 4 bytes
       relative offset of local header 4 bytes file name (variable size) extra
       field (variable size) file comment (variable size)
       
      Throws:
      IOException
    • getPath

      private String getPath(File root, File file)
    • getCRC

      private CRC32 getCRC(File file) throws IOException
      Throws:
      IOException