org.h2.store.fs

## Class FilePathMem

- java.lang.Object
- - org.h2.store.fs.FilePath
  - - org.h2.store.fs.FilePathMem

    public class FilePathMem
    extends FilePath

This file system keeps files fully in memory. There is an option to compress file blocks to save memory.

### Field Summary

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

`name`

### Constructor Summary

Constructors
Constructor and Description
`FilePathMem()`

### Method Summary

Methods
`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.
`void` `delete()` Delete a file or directory if it exists.
`boolean` `exists()` Checks if a file exists.
`protected static java.lang.String` `getCanonicalPath(java.lang.String fileName)` Get the canonical path for this file name.
`FilePathMem` `getParent()` Get the parent directory of a file or directory.
`FilePathMem` `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 file
`void` `moveTo(FilePath newName, boolean atomicReplace)` Rename a file if this is allowed.
`java.util.List<FilePath>` `newDirectoryStream()` List the files and directories in the given directory.
`java.io.InputStream` `newInputStream()` Create an input stream to read from the file.
`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.
`boolean` `setReadOnly()` Disable the ability to write.
`long` `size()` Get the size of a file in bytes
`FilePathMem` `toRealPath()` Normalize a file name.

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

`createTempFile, get, getName, getNextTempFileNamePart, register, toString, unregister, unwrap`

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

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

### Constructor Detail

#### FilePathMem

    public FilePathMem()

### Method Detail

#### getPath

    public FilePathMem getPath(java.lang.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 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

#### 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 java.util.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

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

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

#### getParent

    public FilePathMem 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

#### toRealPath

    public FilePathMem toRealPath()

Description copied from class: `FilePath`
Normalize a file name.

Specified by:
  `toRealPath` in class `FilePath`
Returns:
  the normalized file name

#### 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 java.io.OutputStream newOutputStream(boolean append)
                                         throws java.io.IOException

Description copied from class: `FilePath`
Create an output stream to write into the file.

Specified by:
  `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:
  `java.io.IOException`

#### newInputStream

    public java.io.InputStream newInputStream()

Description copied from class: `FilePath`
Create an input stream to read from the file.

Specified by:
  `newInputStream` in class `FilePath`
Returns:
  the input stream

#### open

    public java.nio.channels.FileChannel open(java.lang.String mode)

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

#### getCanonicalPath

    protected static java.lang.String getCanonicalPath(java.lang.String fileName)

Get the canonical path for this file name.

Parameters:
  `fileName` - the file name
Returns:
  the canonical path

#### getScheme

    public java.lang.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