Class ZipFileSystem
- java.lang.Object
-
- org.apache.commons.vfs2.provider.AbstractVfsComponent
-
- org.apache.commons.vfs2.provider.AbstractFileSystem
-
- org.apache.commons.vfs2.provider.zip.ZipFileSystem
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,FileSystem,VfsComponent
- Direct Known Subclasses:
JarFileSystem
public class ZipFileSystem extends AbstractFileSystem
A read-only file system for ZIP and JAR files.
-
-
Constructor Summary
Constructors Constructor Description ZipFileSystem(AbstractFileName rootFileName, FileObject parentLayer, FileSystemOptions fileSystemOptions)Constructs a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddCapabilities(java.util.Collection<Capability> caps)Returns the capabilities of this file system.protected FileObjectcreateFile(AbstractFileName name)Creates a file object.protected java.util.zip.ZipFilecreateZipFile(java.io.File file)Creates a Zip file.protected ZipFileObjectcreateZipFileObject(AbstractFileName fileName, java.util.zip.ZipEntry entry)Creates a new Zip file object.protected voiddoCloseCommunicationLink()Closes the underlying link used to access the files.protected java.nio.charset.CharsetgetCharset()Gets the Charset, defaults toStandardCharsets.UTF_8, the value used inZipFile.protected FileObjectgetFileFromCache(FileName name)Gets a cached file.protected java.util.zip.ZipFilegetZipFile()Gets the zip file.voidinit()Initializes this component.protected voidputFileToCache(FileObject file)Adds a file object to the cache.protected voidremoveFileFromCache(FileName name)remove a cached file.java.lang.StringtoString()-
Methods inherited from class org.apache.commons.vfs2.provider.AbstractFileSystem
addJunction, addListener, close, closeCommunicationLink, decorateFileObject, doReplicateFile, fireFileChanged, fireFileCreated, fireFileDeleted, getAttribute, getFileSystemManager, getFileSystemOptions, getLastModTimeAccuracy, getParentLayer, getRoot, getRootName, getRootURI, hasCapability, isOpen, isReleaseable, notifyAllStreamsClosed, removeJunction, removeListener, replicateFile, resolveFile, resolveFile, setAttribute
-
Methods inherited from class org.apache.commons.vfs2.provider.AbstractVfsComponent
getContext, getLogger, setContext, setLogger
-
-
-
-
Constructor Detail
-
ZipFileSystem
public ZipFileSystem(AbstractFileName rootFileName, FileObject parentLayer, FileSystemOptions fileSystemOptions) throws FileSystemException
Constructs a new instance.- Parameters:
rootFileName- The root file name of this file system.parentLayer- The parent layer of this file system.fileSystemOptions- Options to build this file system.- Throws:
FileSystemException- If the parent layer does not exist, or on error replicating the file.
-
-
Method Detail
-
addCapabilities
protected void addCapabilities(java.util.Collection<Capability> caps)
Returns the capabilities of this file system.- Specified by:
addCapabilitiesin classAbstractFileSystem- Parameters:
caps- collections of Capabilities, can be immutable.
-
createFile
protected FileObject createFile(AbstractFileName name) throws FileSystemException
Creates a file object.- Specified by:
createFilein classAbstractFileSystem- Parameters:
name- name referencing the new file.- Returns:
- new created FileObject.
- Throws:
FileSystemException
-
createZipFile
protected java.util.zip.ZipFile createZipFile(java.io.File file) throws FileSystemException
Creates a Zip file.- Parameters:
file- the underlying file.- Returns:
- a Zip file.
- Throws:
FileSystemException- if a file system error occurs.
-
createZipFileObject
protected ZipFileObject createZipFileObject(AbstractFileName fileName, java.util.zip.ZipEntry entry) throws FileSystemException
Creates a new Zip file object.- Parameters:
fileName- the underlying file.entry- the Zip entry.- Returns:
- a new ZipFileObject.
- Throws:
FileSystemException- if a file system error occurs.
-
doCloseCommunicationLink
protected void doCloseCommunicationLink()
Description copied from class:AbstractFileSystemCloses the underlying link used to access the files.- Overrides:
doCloseCommunicationLinkin classAbstractFileSystem
-
getCharset
protected java.nio.charset.Charset getCharset()
Gets the Charset, defaults toStandardCharsets.UTF_8, the value used inZipFile.- Returns:
- the Charset.
-
getFileFromCache
protected FileObject getFileFromCache(FileName name)
Gets a cached file.- Overrides:
getFileFromCachein classAbstractFileSystem- Parameters:
name- name to search for.- Returns:
- file object or null if not found.
-
getZipFile
protected java.util.zip.ZipFile getZipFile() throws FileSystemException
Gets the zip file.- Returns:
- the zip file.
- Throws:
FileSystemException- if a file system error occurs.
-
init
public void init() throws FileSystemException
Description copied from class:AbstractFileSystemInitializes this component.- Specified by:
initin interfaceVfsComponent- Overrides:
initin classAbstractFileSystem- Throws:
FileSystemException- if an error occurs.
-
putFileToCache
protected void putFileToCache(FileObject file)
Adds a file object to the cache.- Overrides:
putFileToCachein classAbstractFileSystem- Parameters:
file- the file to add.
-
removeFileFromCache
protected void removeFileFromCache(FileName name)
remove a cached file.- Overrides:
removeFileFromCachein classAbstractFileSystem- Parameters:
name- The file name to remove.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-