Class ZipArchive

java.lang.Object
com.blackrook.fs.FSFileArchive
com.blackrook.fs.archive.ZipArchive

public class ZipArchive extends FSFileArchive
This is an FS wrapping class for wrapping a zip file on the native file system.
Author:
Matthew Tropiano
  • Field Details

    • fileLookupTable

      protected Map<String,ZipEntry> fileLookupTable
      Table for file lookup. Maps file path to File object.
    • zipfileRef

      protected ZipFile zipfileRef
      Zip file reference.
  • Constructor Details

  • Method Details

    • getFile

      public FSFile getFile(String path)
      Description copied from class: FSFileArchive
      Returns an FSFile reference of a file within this wrapped file.
      Specified by:
      getFile in class FSFileArchive
      Parameters:
      path - the abstract path of a file inside this file.
      Returns:
      a new reference to the file requested, or null if the path refers to a location that is not inside this file.
    • getAllFiles

      public FSFile[] getAllFiles()
      Description copied from class: FSFileArchive
      Retrieves all of the files within this object as FSFile objects.
      Specified by:
      getAllFiles in class FSFileArchive
      Returns:
      an array of FSFiles, each entry representing a particular file in this object.
    • getAllFiles

      public FSFile[] getAllFiles(FSFileFilter filter)
      Description copied from class: FSFileArchive
      Retrieves all of the files within this object that pass the filter test as FSFile objects.
      Specified by:
      getAllFiles in class FSFileArchive
      Parameters:
      filter - the file filter to use.
      Returns:
      an array of FSFiles, each entry representing a particular file in this object.
    • getAllFilesInDir

      public FSFile[] getAllFilesInDir(String path)
      Description copied from class: FSFileArchive
      Retrieves all of the files within a directory as FSFile objects.
      Specified by:
      getAllFilesInDir in class FSFileArchive
      Parameters:
      path - the abstract path of a directory inside this file.
      Returns:
      an array of FSFiles, each entry representing a particular file in this object.
    • getAllFilesInDir

      public FSFile[] getAllFilesInDir(String path, FSFileFilter filter)
      Description copied from class: FSFileArchive
      Retrieves all of the files within this object as FSFile objects that pass the filter test.
      Specified by:
      getAllFilesInDir in class FSFileArchive
      Parameters:
      path - the abstract path of a directory inside this file.
      filter - the file filter to use.
      Returns:
      an array of FSFiles, each entry representing a particular file in this object.
    • canCreateFiles

      public boolean canCreateFiles()
      Description copied from class: FSFileArchive
      Can this archive create a new file within itself?
      Specified by:
      canCreateFiles in class FSFileArchive
      Returns:
      true if it can, false if it is read-only.
    • createFile

      public OutputStream createFile(String path) throws IOException
      Description copied from class: FSFileArchive
      Creates a file in this archive using the name and path provided.
      Specified by:
      createFile in class FSFileArchive
      Parameters:
      path - the path of the file to create.
      Returns:
      an acceptable OutputStream for filling the file with data.
      Throws:
      IOException - if a read error occurs during the fetch.