Package org.h2.store.fs.zip
Class FilePathZip
- java.lang.Object
-
- org.h2.store.fs.FilePath
-
- org.h2.store.fs.zip.FilePathZip
-
public class FilePathZip extends FilePath
This is a read-only file system that allows to access databases stored in a .zip or .jar file.
-
-
Constructor Summary
Constructors Constructor Description FilePathZip()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canWrite()
Check if the file is writable.void
createDirectory()
Create a directory (all required parent directories already exist).boolean
createFile()
Create a new file.FilePath
createTempFile(java.lang.String suffix, boolean inTempDir)
Create a new temporary file.void
delete()
Delete a file or directory if it exists.boolean
exists()
Checks if a file exists.private java.lang.String
getEntryName()
FilePath
getParent()
Get the parent directory of a file or directory.FilePathZip
getPath(java.lang.String path)
Convert a file to a path.java.lang.String
getScheme()
Get the scheme (prefix) for this file provider.boolean
isAbsolute()
Check if the file name includes a path.boolean
isDirectory()
Check if it is a file or a directory.long
lastModified()
Get the last modified date of a filevoid
moveTo(FilePath newName, boolean atomicReplace)
Rename a file if this is allowed.java.util.ArrayList<FilePath>
newDirectoryStream()
List the files and directories in the given directory.java.io.OutputStream
newOutputStream(boolean append)
Create an output stream to write into the file.java.nio.channels.FileChannel
open(java.lang.String mode)
Open a random access file object.private java.util.zip.ZipFile
openZipFile()
boolean
setReadOnly()
Disable the ability to write.long
size()
Get the size of a file in bytesFilePath
toRealPath()
Normalize a file name.private static java.lang.String
translateFileName(java.lang.String fileName)
FilePath
unwrap()
Get the unwrapped file name (without wrapper prefixes if wrapping / delegating file systems are used).-
Methods inherited from class org.h2.store.fs.FilePath
get, getName, newFileChannelOutputStream, newInputStream, register, toString, unregister
-
-
-
-
Method Detail
-
getPath
public FilePathZip getPath(java.lang.String path)
Description copied from class:FilePath
Convert a file to a path. This is similar tojava.nio.file.spi.FileSystemProvider.getPath
, but may return an object even if the scheme doesn't match in case of the default file provider.
-
createDirectory
public void createDirectory()
Description copied from class:FilePath
Create a directory (all required parent directories already exist).- Specified by:
createDirectory
in classFilePath
-
createFile
public boolean createFile()
Description copied from class:FilePath
Create a new file.- Specified by:
createFile
in classFilePath
- Returns:
- true if creating was successful
-
delete
public void delete()
Description copied from class:FilePath
Delete a file or directory if it exists. Directories may only be deleted if they are empty.
-
exists
public boolean exists()
Description copied from class:FilePath
Checks if a file exists.
-
lastModified
public long lastModified()
Description copied from class:FilePath
Get the last modified date of a file- Specified by:
lastModified
in classFilePath
- Returns:
- the last modified date
-
getParent
public FilePath getParent()
Description copied from class:FilePath
Get the parent directory of a file or directory.
-
isAbsolute
public boolean isAbsolute()
Description copied from class:FilePath
Check if the file name includes a path.- Specified by:
isAbsolute
in classFilePath
- Returns:
- if the file name is absolute
-
unwrap
public FilePath unwrap()
Description copied from class:FilePath
Get the unwrapped file name (without wrapper prefixes if wrapping / delegating file systems are used).
-
isDirectory
public boolean isDirectory()
Description copied from class:FilePath
Check if it is a file or a directory.- Specified by:
isDirectory
in classFilePath
- Returns:
- true if it is a directory
-
canWrite
public boolean canWrite()
Description copied from class:FilePath
Check if the file is writable.
-
setReadOnly
public boolean setReadOnly()
Description copied from class:FilePath
Disable the ability to write.- Specified by:
setReadOnly
in classFilePath
- Returns:
- true if the call was successful
-
size
public long size()
Description copied from class:FilePath
Get the size of a file in bytes
-
newDirectoryStream
public java.util.ArrayList<FilePath> newDirectoryStream()
Description copied from class:FilePath
List the files and directories in the given directory.- Specified by:
newDirectoryStream
in classFilePath
- Returns:
- the list of fully qualified file names
-
open
public java.nio.channels.FileChannel open(java.lang.String mode) throws java.io.IOException
Description copied from class:FilePath
Open a random access file object.
-
newOutputStream
public java.io.OutputStream newOutputStream(boolean append) throws java.io.IOException
Description copied from class:FilePath
Create an output stream to write into the file.- Overrides:
newOutputStream
in classFilePath
- Parameters:
append
- if true, the file will grow, if false, the file will be truncated first- Returns:
- the output stream
- Throws:
java.io.IOException
- If an I/O error occurs
-
moveTo
public void moveTo(FilePath newName, boolean atomicReplace)
Description copied from class:FilePath
Rename a file if this is allowed.
-
translateFileName
private static java.lang.String translateFileName(java.lang.String fileName)
-
toRealPath
public FilePath toRealPath()
Description copied from class:FilePath
Normalize a file name.- Specified by:
toRealPath
in classFilePath
- Returns:
- the normalized file name
-
getEntryName
private java.lang.String getEntryName()
-
openZipFile
private java.util.zip.ZipFile openZipFile() throws java.io.IOException
- Throws:
java.io.IOException
-
createTempFile
public FilePath createTempFile(java.lang.String suffix, boolean inTempDir) throws java.io.IOException
Description copied from class:FilePath
Create a new temporary file.- Overrides:
createTempFile
in classFilePath
- Parameters:
suffix
- the suffixinTempDir
- if the file should be stored in the temporary directory- Returns:
- the name of the created file
- Throws:
java.io.IOException
- on failure
-
-