Class FilePathDisk

java.lang.Object
org.h2.store.fs.FilePath
org.h2.store.fs.disk.FilePathDisk

public class FilePathDisk extends FilePath
This file system stores files on disk. This is the most common file system.
  • Field Details

  • Constructor Details

    • FilePathDisk

      public FilePathDisk()
  • Method Details

    • getPath

      public FilePathDisk 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
    • 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
    • translateFileName

      protected static String translateFileName(String fileName)
      Translate the file name to the native format. This will replace '\' with '/' and expand the home directory ('~').
      Parameters:
      fileName - the file name
      Returns:
      the native file name
    • expandUserHomeDirectory

      public static String expandUserHomeDirectory(String fileName)
      Expand '~' to the user home directory. It is only be expanded if the '~' stands alone, or is followed by '/' or '\'.
      Parameters:
      fileName - the file name
      Returns:
      the native file name
    • 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
    • wait

      private static void wait(int i)
    • 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
    • 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
    • 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
    • newDirectoryStream

      public List<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
    • 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
    • toRealPath

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

      private static Path toRealPath(Path path)
    • 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
    • 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
    • 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
    • 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
    • createDirectory

      public void createDirectory()
      Description copied from class: FilePath
      Create a directory (all required parent directories already exist).
      Specified by:
      createDirectory in class FilePath
    • 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
    • newInputStream

      public InputStream newInputStream() throws IOException
      Description copied from class: FilePath
      Create an input stream to read from the file.
      Overrides:
      newInputStream in class FilePath
      Returns:
      the input stream
      Throws:
      IOException - If an I/O error occurs
    • freeMemoryAndFinalize

      static void freeMemoryAndFinalize()
      Call the garbage collection and run finalization. This close all files that were not closed, and are no longer referenced.
    • 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
    • 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
    • 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