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 void
addCapabilities(java.util.Collection<Capability> caps)
Returns the capabilities of this file system.protected FileObject
createFile(AbstractFileName name)
Creates a file object.protected java.util.zip.ZipFile
createZipFile(java.io.File file)
Creates a Zip file.protected ZipFileObject
createZipFileObject(AbstractFileName fileName, java.util.zip.ZipEntry entry)
Creates a new Zip file object.protected void
doCloseCommunicationLink()
Closes the underlying link used to access the files.protected java.nio.charset.Charset
getCharset()
Gets the Charset, defaults toStandardCharsets.UTF_8
, the value used inZipFile
.protected FileObject
getFileFromCache(FileName name)
Gets a cached file.protected java.util.zip.ZipFile
getZipFile()
Gets the zip file.void
init()
Initializes this component.protected void
putFileToCache(FileObject file)
Adds a file object to the cache.protected void
removeFileFromCache(FileName name)
remove a cached file.java.lang.String
toString()
-
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:
addCapabilities
in classAbstractFileSystem
- Parameters:
caps
- collections of Capabilities, can be immutable.
-
createFile
protected FileObject createFile(AbstractFileName name) throws FileSystemException
Creates a file object.- Specified by:
createFile
in 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:AbstractFileSystem
Closes the underlying link used to access the files.- Overrides:
doCloseCommunicationLink
in 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:
getFileFromCache
in 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:AbstractFileSystem
Initializes this component.- Specified by:
init
in interfaceVfsComponent
- Overrides:
init
in classAbstractFileSystem
- Throws:
FileSystemException
- if an error occurs.
-
putFileToCache
protected void putFileToCache(FileObject file)
Adds a file object to the cache.- Overrides:
putFileToCache
in classAbstractFileSystem
- Parameters:
file
- the file to add.
-
removeFileFromCache
protected void removeFileFromCache(FileName name)
remove a cached file.- Overrides:
removeFileFromCache
in classAbstractFileSystem
- Parameters:
name
- The file name to remove.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-