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
A file in a ZIP file system.
-
Field Summary
FieldsFields inherited from class org.apache.commons.vfs2.provider.AbstractFileObject
DEFAULT_BUFFER_SIZE
Fields inherited from interface org.apache.commons.vfs2.FileObject
EMPTY_ARRAY
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
ZipFileObject
(AbstractFileName fileName, ZipEntry entry, ZipFileSystem fileSystem, boolean zipExists) Constructs a new instance. -
Method Summary
Modifier and TypeMethodDescriptionvoid
attachChild
(FileName childName) Attaches a child.protected void
doAttach()
Attaches this file object to its file resource.protected void
doDetach()
Detaches this file object from its file resource.protected long
Returns the size of the file content (in bytes).protected InputStream
doGetInputStream
(int bufferSize) Creates an input stream to read the file content from.protected long
Returns the last modified time of this file.protected FileType
Returns the file's type.protected String[]
Lists the children of the file.boolean
Determines if this file can be written to.protected void
setZipEntry
(ZipEntry entry) Sets the details for this file object.Methods inherited from class org.apache.commons.vfs2.provider.AbstractFileObject
canRenameTo, childrenChanged, close, compareTo, copyFrom, createFile, createFolder, delete, delete, deleteAll, doCreateFileContent, doCreateFolder, doDelete, doGetAttributes, doGetCertificates, doGetInputStream, doGetOutputStream, doGetRandomAccessContent, doIsExecutable, doIsHidden, doIsReadable, doIsSameFile, doIsSymbolicLink, doIsWriteable, doListChildrenResolved, doRemoveAttribute, doRename, doSetAttribute, doSetExecutable, doSetLastModifiedTime, doSetReadable, doSetWritable, endOutput, exists, finalize, findFiles, findFiles, getAbstractFileSystem, getChild, getChildren, getContent, getFileContentInfoFactory, getFileOperations, getFileSystem, getInputStream, getInputStream, getName, getOutputStream, getOutputStream, getParent, getPublicURIString, getRandomAccessContent, getType, getURL, handleChanged, handleCreate, handleDelete, holdObject, injectType, isAttached, isContentOpen, isExecutable, isFile, isFolder, isHidden, isReadable, isSameFile, isSymbolicLink, iterator, listFiles, moveTo, notifyAllStreamsClosed, onChange, onChildrenChanged, refresh, resolveFile, resolveFile, setExecutable, setReadable, setWritable, toString
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.commons.vfs2.FileObject
getPath, getURI
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
entry
The ZipEntry.
-
-
Constructor Details
-
ZipFileObject
protected ZipFileObject(AbstractFileName fileName, ZipEntry entry, ZipFileSystem fileSystem, boolean zipExists) Constructs a new instance.- Parameters:
fileName
- the file name.entry
- The zip entry.fileSystem
- the file system.zipExists
- whether the zip file exists.
-
-
Method Details
-
attachChild
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.
-
doAttach
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 classAbstractFileObject<ZipFileSystem>
- Throws:
Exception
- if an error occurs.
-
doDetach
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 classAbstractFileObject<ZipFileSystem>
- Throws:
Exception
- if an error occurs.
-
doGetContentSize
Returns the size of the file content (in bytes). Is only called ifdoGetType()
returnsFileType.FILE
.- Specified by:
doGetContentSize
in classAbstractFileObject<ZipFileSystem>
- Returns:
- The size of the file in bytes.
-
doGetInputStream
Creates an input stream to read the file content from. Is only called ifdoGetType()
returnsFileType.FILE
. The input stream returned by this method is guaranteed to be closed before this method is called again.- Overrides:
doGetInputStream
in classAbstractFileObject<ZipFileSystem>
- Parameters:
bufferSize
- Buffer size hint.- Returns:
- An InputStream to read the file content.
- Throws:
Exception
- if an error occurs.
-
doGetLastModifiedTime
Returns the last modified time of this file.- Overrides:
doGetLastModifiedTime
in classAbstractFileObject<ZipFileSystem>
- Returns:
- The last modification time.
- Throws:
Exception
- if an error occurs.
-
doGetType
Returns the file's type.- Specified by:
doGetType
in classAbstractFileObject<ZipFileSystem>
- Returns:
- the type of the file.
-
doListChildren
Lists the children of the file.- Specified by:
doListChildren
in classAbstractFileObject<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.
-
isWriteable
Determines if this file can be written to.- Specified by:
isWriteable
in interfaceFileObject
- Overrides:
isWriteable
in classAbstractFileObject<ZipFileSystem>
- Returns:
true
if this file is writable,false
if not.- Throws:
FileSystemException
- if an error occurs.
-
setZipEntry
Sets the details for this file object.- Parameters:
entry
- ZIP information related to this file.
-