Class ZipFileObject

java.lang.Object
org.apache.commons.vfs2.provider.AbstractFileObject<ZipFileSystem>
org.apache.commons.vfs2.provider.zip.ZipFileObject
All Implemented Interfaces:
Closeable, AutoCloseable, Comparable<FileObject>, Iterable<FileObject>, FileObject
Direct Known Subclasses:
JarFileObject

public class ZipFileObject extends AbstractFileObject<ZipFileSystem>
A file in a ZIP file system.
  • Field Details

  • Constructor Details

  • Method Details

    • setZipEntry

      protected void setZipEntry(ZipEntry entry)
      Sets the details for this file object.
      Parameters:
      entry - ZIP information related to this file.
    • attachChild

      public void attachChild(FileName childName)
      Attaches a child.

      TODO: Shouldn't this method have package-only visibility? Cannot change this without breaking binary compatibility.

      Parameters:
      childName - The name of the child.
    • isWriteable

      public boolean isWriteable() throws FileSystemException
      Determines if this file can be written to.
      Specified by:
      isWriteable in interface FileObject
      Overrides:
      isWriteable in class AbstractFileObject<ZipFileSystem>
      Returns:
      true if this file is writable, false if not.
      Throws:
      FileSystemException - if an error occurs.
    • doGetType

      protected FileType doGetType()
      Returns the file's type.
      Specified by:
      doGetType in class AbstractFileObject<ZipFileSystem>
      Returns:
      the type of the file.
    • doListChildren

      protected String[] doListChildren()
      Lists the children of the file.
      Specified by:
      doListChildren in class AbstractFileObject<ZipFileSystem>
      Returns:
      a possible empty String array if the file is a directory or null or an exception if the file is not a directory or can't be read.
    • doGetContentSize

      protected long doGetContentSize()
      Returns the size of the file content (in bytes). Is only called if doGetType() returns FileType.FILE.
      Specified by:
      doGetContentSize in class AbstractFileObject<ZipFileSystem>
      Returns:
      The size of the file in bytes.
    • doGetLastModifiedTime

      protected long doGetLastModifiedTime() throws Exception
      Returns the last modified time of this file.
      Overrides:
      doGetLastModifiedTime in class AbstractFileObject<ZipFileSystem>
      Returns:
      The last modification time.
      Throws:
      Exception - if an error occurs.
    • doGetInputStream

      protected InputStream doGetInputStream(int bufferSize) throws Exception
      Creates an input stream to read the file content from. Is only called if doGetType() returns FileType.FILE. The input stream returned by this method is guaranteed to be closed before this method is called again.
      Overrides:
      doGetInputStream in class AbstractFileObject<ZipFileSystem>
      Parameters:
      bufferSize - Buffer size hint.
      Returns:
      An InputStream to read the file content.
      Throws:
      Exception - if an error occurs.
    • doAttach

      protected void doAttach() throws Exception
      Description copied from class: AbstractFileObject
      Attaches this file object to its file resource.

      This method is called before any of the doBlah() or onBlah() methods. Sub-classes can use this method to perform lazy initialization.

      This implementation does nothing.

      Overrides:
      doAttach in class AbstractFileObject<ZipFileSystem>
      Throws:
      Exception - if an error occurs.
    • doDetach

      protected void doDetach() throws Exception
      Description copied from class: AbstractFileObject
      Detaches this file object from its file resource.

      Called when this file is closed. Note that the file object may be reused later, so should be able to be reattached.

      This implementation does nothing.

      Overrides:
      doDetach in class AbstractFileObject<ZipFileSystem>
      Throws:
      Exception - if an error occurs.