Package org.h2.store.fs.disk

# 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 Summary

### Fields inherited from class org.h2.store.fs.FilePath

`name`

## Constructor Summary

Constructors
Constructor
Description
`FilePathDisk()`

## Method Summary

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(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.
`static String`
`expandUserHomeDirectory(String fileName)`
Expand '~' to the user home directory.
`FilePath`
`getParent()`
Get the parent directory of a file or directory.
`FilePathDisk`
`getPath(String path)`
Convert a file to a path.
`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.
`boolean`
`isRegularFile()`
Check if it is a regular file.
`long`
`lastModified()`
Get the last modified date of a file
`void`
`moveTo(FilePath newName, boolean atomicReplace)`
Rename a file if this is allowed.
`List<FilePath>`
`newDirectoryStream()`
List the files and directories in the given directory.
`InputStream`
`newInputStream()`
Create an input stream to read from the file.
`OutputStream`
`newOutputStream(boolean append)`
Create an output stream to write into the file.
`FileChannel`
`open(String mode)`
Open a random access file object.
`boolean`
`setReadOnly()`
Disable the ability to write.
`long`
`size()`
Get the size of a file in bytes
`FilePathDisk`
`toRealPath()`
Normalize a file name.
`protected static String`
`translateFileName(String fileName)`
Translate the file name to the native format.

### Methods inherited from class org.h2.store.fs.FilePath

`get, getName, newFileChannelOutputStream, register, toString, unregister, unwrap`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## 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

### 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

### 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

### isRegularFile

public boolean isRegularFile()
Description copied from class: `FilePath`
Check if it is a regular file.

Specified by:
  `isRegularFile` in class `FilePath`
Returns:
  true if it is a regular file

### 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

### 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