Class FileUtils

java.lang.Object
org.h2.store.fs.FileUtils

public class FileUtils extends Object
This utility class contains utility functions that use the file system abstraction.
  • Field Details

  • Constructor Details

    • FileUtils

      public FileUtils()
  • Method Details

    • exists

      public static boolean exists(String fileName)
      Checks if a file exists. This method is similar to Java 7 java.nio.file.Path.exists.
      Parameters:
      fileName - the file name
      Returns:
      true if it exists
    • createDirectory

      public static void createDirectory(String directoryName)
      Create a directory (all required parent directories must already exist). This method is similar to Java 7 java.nio.file.Path.createDirectory.
      Parameters:
      directoryName - the directory name
    • createFile

      public static boolean createFile(String fileName)
      Create a new file. This method is similar to Java 7 java.nio.file.Path.createFile, but returns false instead of throwing a exception if the file already existed.
      Parameters:
      fileName - the file name
      Returns:
      true if creating was successful
    • delete

      public static void delete(String path)
      Delete a file or directory if it exists. Directories may only be deleted if they are empty. This method is similar to Java 7 java.nio.file.Path.deleteIfExists.
      Parameters:
      path - the file or directory name
    • toRealPath

      public static String toRealPath(String fileName)
      Get the canonical file or directory name. This method is similar to Java 7 java.nio.file.Path.toRealPath.
      Parameters:
      fileName - the file name
      Returns:
      the normalized file name
    • getParent

      public static String getParent(String fileName)
      Get the parent directory of a file or directory. This method returns null if there is no parent. This method is similar to Java 7 java.nio.file.Path.getParent.
      Parameters:
      fileName - the file or directory name
      Returns:
      the parent directory name
    • isAbsolute

      public static boolean isAbsolute(String fileName)
      Check if the file name includes a path. This method is similar to Java 7 java.nio.file.Path.isAbsolute.
      Parameters:
      fileName - the file name
      Returns:
      if the file name is absolute
    • move

      public static void move(String source, String target)
      Rename a file if this is allowed. This method is similar to Java 7 java.nio.file.Files.move.
      Parameters:
      source - the old fully qualified file name
      target - the new fully qualified file name
    • moveAtomicReplace

      public static void moveAtomicReplace(String source, String target)
      Rename a file if this is allowed, and try to atomically replace an existing file. This method is similar to Java 7 java.nio.file.Files.move.
      Parameters:
      source - the old fully qualified file name
      target - the new fully qualified file name
    • getName

      public static String getName(String path)
      Get the file or directory name (the last element of the path). This method is similar to Java 7 java.nio.file.Path.getName.
      Parameters:
      path - the directory and file name
      Returns:
      just the file name
    • newDirectoryStream

      public static List<String> newDirectoryStream(String path)
      List the files and directories in the given directory. This method is similar to Java 7 java.nio.file.Path.newDirectoryStream.
      Parameters:
      path - the directory
      Returns:
      the list of fully qualified file names
    • lastModified

      public static long lastModified(String fileName)
      Get the last modified date of a file. This method is similar to Java 7 java.nio.file.attribute.Attributes. readBasicFileAttributes(file).lastModified().toMillis()
      Parameters:
      fileName - the file name
      Returns:
      the last modified date
    • size

      public static long size(String fileName)
      Get the size of a file in bytes This method is similar to Java 7 java.nio.file.attribute.Attributes. readBasicFileAttributes(file).size()
      Parameters:
      fileName - the file name
      Returns:
      the size in bytes
    • isDirectory

      public static boolean isDirectory(String fileName)
      Check if it is a file or a directory. java.nio.file.attribute.Attributes. readBasicFileAttributes(file).isDirectory()
      Parameters:
      fileName - the file or directory name
      Returns:
      true if it is a directory
    • open

      public static FileChannel open(String fileName, String mode) throws IOException
      Open a random access file object. This method is similar to Java 7 java.nio.channels.FileChannel.open.
      Parameters:
      fileName - the file name
      mode - the access mode. Supported are r, rw, rws, rwd
      Returns:
      the file object
      Throws:
      IOException - on failure
    • newInputStream

      public static InputStream newInputStream(String fileName) throws IOException
      Create an input stream to read from the file. This method is similar to Java 7 java.nio.file.Files.newInputStream().
      Parameters:
      fileName - the file name
      Returns:
      the input stream
      Throws:
      IOException - on failure
    • newBufferedReader

      public static BufferedReader newBufferedReader(String fileName, Charset charset) throws IOException
      Create a buffered reader to read from the file. This method is similar to java.nio.file.Files.newBufferedReader().
      Parameters:
      fileName - the file name
      charset - the charset
      Returns:
      the buffered reader
      Throws:
      IOException - on failure
    • newOutputStream

      public static OutputStream newOutputStream(String fileName, boolean append) throws IOException
      Create an output stream to write into the file. This method is similar to java.nio.file.Files.newOutputStream().
      Parameters:
      fileName - the file name
      append - if true, the file will grow, if false, the file will be truncated first
      Returns:
      the output stream
      Throws:
      IOException - on failure
    • canWrite

      public static boolean canWrite(String fileName)
      Check if the file is writable. This method is similar to Java 7 java.nio.file.Path.checkAccess(AccessMode.WRITE)
      Parameters:
      fileName - the file name
      Returns:
      if the file is writable
    • setReadOnly

      public static boolean setReadOnly(String fileName)
      Disable the ability to write. The file can still be deleted afterwards.
      Parameters:
      fileName - the file name
      Returns:
      true if the call was successful
    • unwrap

      public static String unwrap(String fileName)
      Get the unwrapped file name (without wrapper prefixes if wrapping / delegating file systems are used).
      Parameters:
      fileName - the file name
      Returns:
      the unwrapped
    • deleteRecursive

      public static void deleteRecursive(String path, boolean tryOnly)
      Delete a directory or file and all subdirectories and files.
      Parameters:
      path - the path
      tryOnly - whether errors should be ignored
    • createDirectories

      public static void createDirectories(String dir)
      Create the directory and all required parent directories.
      Parameters:
      dir - the directory name
    • tryDelete

      public static boolean tryDelete(String path)
      Try to delete a file or directory (ignoring errors).
      Parameters:
      path - the file or directory name
      Returns:
      true if it worked
    • createTempFile

      public static String createTempFile(String prefix, String suffix, boolean inTempDir) throws IOException
      Create a new temporary file.
      Parameters:
      prefix - the prefix of the file name (including directory name if required)
      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
    • readFully

      public static void readFully(FileChannel channel, ByteBuffer dst) throws IOException
      Fully read from the file. This will read all remaining bytes, or throw an EOFException if not successful.
      Parameters:
      channel - the file channel
      dst - the byte buffer
      Throws:
      IOException - on failure
    • writeFully

      public static void writeFully(FileChannel channel, ByteBuffer src) throws IOException
      Fully write to the file. This will write all remaining bytes.
      Parameters:
      channel - the file channel
      src - the byte buffer
      Throws:
      IOException - on failure
    • modeToOptions

      public static Set<? extends OpenOption> modeToOptions(String mode)
      Convert the string representation to a set.
      Parameters:
      mode - the mode as a string
      Returns:
      the set