Class ZipFileImpl

  • All Implemented Interfaces:
    IFile
    Direct Known Subclasses:
    ZipDirectory

    public class ZipFileImpl
    extends Object
    implements IFile
    An implementation of IFile that represents a file entry in a zip.
    • Constructor Detail

      • ZipFileImpl

        public ZipFileImpl​(File zip1,
                           ZipEntry entry1,
                           ZipDirectory parent1,
                           ZipCloseableDirectory cache)
        This constructor is used to create a file entry within the zip.
        Parameters:
        zip1 - the zip file the entry is in.
        entry1 - the entry this IFile represents.
        parent1 - the parent directory.
    • Method Detail

      • getZipPathToRoot

        public String getZipPathToRoot()
        Obtain the path of the zip file to the VFS root
      • convert

        public IDirectory convert()
        Specified by:
        convert in interface IFile
        Returns:
        if this is a directory return this as an IDirectory, otherwise return null.
      • convertNested

        public IDirectory convertNested()
        Specified by:
        convertNested in interface IFile
        Returns:
        if this is a directory or an archive, returns the opened IDirectory
      • getLastModified

        public long getLastModified()
        Specified by:
        getLastModified in interface IFile
        Returns:
        the last modified date of the file.
      • getName

        public String getName()
        Specified by:
        getName in interface IFile
        Returns:
        the name of the file relative to the root of the virtual FS. This will return a '/' separated path indepedent of underlying filesystem
      • getNameInZip

        public String getNameInZip()
      • getParent

        public IDirectory getParent()
        Specified by:
        getParent in interface IFile
        Returns:
        returns the parent directory of this IFile, or null if this is the root.
      • getSize

        public long getSize()
        Specified by:
        getSize in interface IFile
        Returns:
        the size of the file.
      • isDirectory

        public boolean isDirectory()
        Specified by:
        isDirectory in interface IFile
        Returns:
        true iff this IFile is also an IDirectory
      • isFile

        public boolean isFile()
        Specified by:
        isFile in interface IFile
        Returns:
        true iff this IFile is not an IDirectory
      • open

        public InputStream open()
                         throws IOException
        Description copied from interface: IFile
        The input stream returned by this method should always be closed after use.
        Specified by:
        open in interface IFile
        Returns:
        An InputStream to read the file from.
        Throws:
        IOException
      • getRoot

        public IDirectory getRoot()
        Specified by:
        getRoot in interface IFile
        Returns:
        the root of this file system.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object