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 Details

    • FilePathZip

      public FilePathZip()
  • Method Details

    • getPath

      public FilePathZip getPath(String path)
      Description copied from class: FilePath
      Convert a file to a path. This is similar to java.nio.file.spi.FileSystemProvider.getPath, but may return an object even if the scheme doesn't match in case of the default file provider.
      Specified by:
      getPath in class FilePath
      Parameters:
      path - the path
      Returns:
      the file path object
    • createDirectory

      public void createDirectory()
      Description copied from class: FilePath
      Create a directory (all required parent directories already exist).
      Specified by:
      createDirectory in class FilePath
    • createFile

      public boolean createFile()
      Description copied from class: FilePath
      Create a new file.
      Specified by:
      createFile in class FilePath
      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.
      Specified by:
      delete in class FilePath
    • exists

      public boolean exists()
      Description copied from class: FilePath
      Checks if a file exists.
      Specified by:
      exists in class FilePath
      Returns:
      true if it exists
    • lastModified

      public long lastModified()
      Description copied from class: FilePath
      Get the last modified date of a file
      Specified by:
      lastModified in class FilePath
      Returns:
      the last modified date
    • getParent

      public FilePath getParent()
      Description copied from class: FilePath
      Get the parent directory of a file or directory.
      Specified by:
      getParent in class FilePath
      Returns:
      the parent directory name
    • isAbsolute

      public boolean isAbsolute()
      Description copied from class: FilePath
      Check if the file name includes a path.
      Specified by:
      isAbsolute in class FilePath
      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).
      Overrides:
      unwrap in class FilePath
      Returns:
      the unwrapped path
    • isDirectory

      public boolean isDirectory()
      Description copied from class: FilePath
      Check if it is a file or a directory.
      Specified by:
      isDirectory in class FilePath
      Returns:
      true if it is a directory
    • canWrite

      public boolean canWrite()
      Description copied from class: FilePath
      Check if the file is writable.
      Specified by:
      canWrite in class FilePath
      Returns:
      if the file is writable
    • setReadOnly

      public boolean setReadOnly()
      Description copied from class: FilePath
      Disable the ability to write.
      Specified by:
      setReadOnly in class FilePath
      Returns:
      true if the call was successful
    • size

      public long size()
      Description copied from class: FilePath
      Get the size of a file in bytes
      Specified by:
      size in class FilePath
      Returns:
      the size in bytes
    • newDirectoryStream

      public ArrayList<FilePath> newDirectoryStream()
      Description copied from class: FilePath
      List the files and directories in the given directory.
      Specified by:
      newDirectoryStream in class FilePath
      Returns:
      the list of fully qualified file names
    • open

      public FileChannel open(String mode) throws IOException
      Description copied from class: FilePath
      Open a random access file object.
      Specified by:
      open in class FilePath
      Parameters:
      mode - the access mode. Supported are r, rw, rws, rwd
      Returns:
      the file object
      Throws:
      IOException - If an I/O error occurs
    • newOutputStream

      public OutputStream newOutputStream(boolean append) throws IOException
      Description copied from class: FilePath
      Create an output stream to write into the file.
      Overrides:
      newOutputStream in class FilePath
      Parameters:
      append - if true, the file will grow, if false, the file will be truncated first
      Returns:
      the output stream
      Throws:
      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.
      Specified by:
      moveTo in class FilePath
      Parameters:
      newName - the new fully qualified file name
      atomicReplace - whether the move should be atomic, and the target file should be replaced if it exists and replacing is possible
    • translateFileName

      private static String translateFileName(String fileName)
    • toRealPath

      public FilePath toRealPath()
      Description copied from class: FilePath
      Normalize a file name.
      Specified by:
      toRealPath in class FilePath
      Returns:
      the normalized file name
    • getEntryName

      private String getEntryName()
    • openZipFile

      private ZipFile openZipFile() throws IOException
      Throws:
      IOException
    • createTempFile

      public FilePath createTempFile(String suffix, boolean inTempDir) throws IOException
      Description copied from class: FilePath
      Create a new temporary file.
      Overrides:
      createTempFile in class FilePath
      Parameters:
      suffix - the suffix
      inTempDir - if the file should be stored in the temporary directory
      Returns:
      the name of the created file
      Throws:
      IOException - on failure
    • getScheme

      public String getScheme()
      Description copied from class: FilePath
      Get the scheme (prefix) for this file provider. This is similar to java.nio.file.spi.FileSystemProvider.getScheme.
      Specified by:
      getScheme in class FilePath
      Returns:
      the scheme