## org.h2.store.fs
Class FileSystemMemory

    java.lang.Object
      org.h2.store.fs.FileSystem
          org.h2.store.fs.FileSystemMemory

    public class FileSystemMemory

extends FileSystem

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

Field Summary
`static java.lang.String` `PREFIX` The prefix used for an in-memory file system.
`static java.lang.String` `PREFIX_LZF` The prefix used for a compressed in-memory file system.

Method Summary
`protected boolean` `accepts(java.lang.String fileName)` Check if the file system is responsible for this file name.
`boolean` `canWrite(java.lang.String fileName)` Check if the file is writable.
`void` `copy(java.lang.String original, java.lang.String copy)` Copy a file from one directory to another, or to another file.
`void` `createDirs(java.lang.String fileName)` Create all required directories that are required for this file.
`boolean` `createNewFile(java.lang.String fileName)` Create a new file.
`java.lang.String` `createTempFile(java.lang.String name, java.lang.String suffix, boolean deleteOnExit, boolean inTempDir)` Create a new temporary file.
`void` `delete(java.lang.String fileName)` Delete a file.
`void` `deleteRecursive(java.lang.String fileName, boolean tryOnly)` Delete a directory or file and all subdirectories and files.
`boolean` `exists(java.lang.String fileName)` Checks if a file exists.
`boolean` `fileStartsWith(java.lang.String fileName, java.lang.String prefix)` Check if a file starts with a given prefix.
`java.lang.String` `getAbsolutePath(java.lang.String fileName)` Get the absolute file name.
`java.lang.String` `getFileName(java.lang.String name)` Get the file name (without directory part).
`static FileSystemMemory` `getInstance()`
`long` `getLastModified(java.lang.String fileName)` Get the last modified date of a file
`java.lang.String` `getParent(java.lang.String fileName)` Get the parent directory of a file or directory.
`boolean` `isAbsolute(java.lang.String fileName)` Check if the file name includes a path.
`boolean` `isDirectory(java.lang.String fileName)` Check if it is a file or a directory.
`boolean` `isReadOnly(java.lang.String fileName)` Check if a file is read-only.
`long` `length(java.lang.String fileName)` Get the length of a file.
`java.lang.String[]` `listFiles(java.lang.String path)` List the files in the given directory.
`java.lang.String` `normalize(java.lang.String fileName)` Normalize a file name.
`java.io.InputStream` `openFileInputStream(java.lang.String fileName)` Create an input stream to read from the file.
`FileObject` `openFileObject(java.lang.String fileName, java.lang.String mode)` Open a random access file object.
`java.io.OutputStream` `openFileOutputStream(java.lang.String fileName, boolean append)` Create an output stream to write into the file.
`void` `rename(java.lang.String oldName, java.lang.String newName)` Rename a file if this is allowed.
`boolean` `tryDelete(java.lang.String fileName)` Try to delete a file.

Methods inherited from class org.h2.store.fs.FileSystem
`getInstance, mkdirs, register, unregister`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### PREFIX

    public static final java.lang.String PREFIX

  The prefix used for an in-memory file system.

  See Also:
    Constant Field Values

### PREFIX_LZF

    public static final java.lang.String PREFIX_LZF

  The prefix used for a compressed in-memory file system.

  See Also:
    Constant Field Values

Method Detail

### getInstance

    public static FileSystemMemory getInstance()

### length

    public long length(java.lang.String fileName)

  Description copied from class: `FileSystem`
  Get the length of a file.

  Specified by:
    `length` in class `FileSystem`
  Parameters:
    `fileName` - the file name
  Returns:
    the length in bytes

### rename

    public void rename(java.lang.String oldName,
                       java.lang.String newName)

  Description copied from class: `FileSystem`
  Rename a file if this is allowed.

  Specified by:
    `rename` in class `FileSystem`
  Parameters:
    `oldName` - the old fully qualified file name
    `newName` - the new fully qualified file name

### createNewFile

    public boolean createNewFile(java.lang.String fileName)

  Description copied from class: `FileSystem`
  Create a new file.

  Specified by:
    `createNewFile` in class `FileSystem`
  Parameters:
    `fileName` - the file name
  Returns:
    true if creating was successful

### exists

    public boolean exists(java.lang.String fileName)

  Description copied from class: `FileSystem`
  Checks if a file exists.

  Specified by:
    `exists` in class `FileSystem`
  Parameters:
    `fileName` - the file name
  Returns:
    true if it exists

### delete

    public void delete(java.lang.String fileName)

  Description copied from class: `FileSystem`
  Delete a file.

  Specified by:
    `delete` in class `FileSystem`
  Parameters:
    `fileName` - the file name

### tryDelete

    public boolean tryDelete(java.lang.String fileName)

  Description copied from class: `FileSystem`
  Try to delete a file.

  Specified by:
    `tryDelete` in class `FileSystem`
  Parameters:
    `fileName` - the file name
  Returns:
    true if it could be deleted

### createTempFile

    public java.lang.String createTempFile(java.lang.String name,
                                           java.lang.String suffix,
                                           boolean deleteOnExit,
                                           boolean inTempDir)

  Description copied from class: `FileSystem`
  Create a new temporary file.

  Specified by:
    `createTempFile` in class `FileSystem`
  Parameters:
    `name` - the prefix of the file name (including directory name if required)
    `suffix` - the suffix
    `deleteOnExit` - if the file should be deleted when the virtual machine exists
    `inTempDir` - if the file should be stored in the temporary directory
  Returns:
    the name of the created file

### listFiles

    public java.lang.String[] listFiles(java.lang.String path)

  Description copied from class: `FileSystem`
  List the files in the given directory.

  Specified by:
    `listFiles` in class `FileSystem`
  Parameters:
    `path` - the directory
  Returns:
    the list of fully qualified file names

### deleteRecursive

    public void deleteRecursive(java.lang.String fileName,
                                boolean tryOnly)

  Description copied from class: `FileSystem`
  Delete a directory or file and all subdirectories and files.

  Specified by:
    `deleteRecursive` in class `FileSystem`
  Parameters:
    `fileName` - the directory
    `tryOnly` - whether errors should be ignored

### isReadOnly

    public boolean isReadOnly(java.lang.String fileName)

  Description copied from class: `FileSystem`
  Check if a file is read-only.

  Specified by:
    `isReadOnly` in class `FileSystem`
  Parameters:
    `fileName` - the file name
  Returns:
    if it is read only

### normalize

    public java.lang.String normalize(java.lang.String fileName)

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

  Specified by:
    `normalize` in class `FileSystem`
  Parameters:
    `fileName` - the file name
  Returns:
    the normalized file name

### getParent

    public java.lang.String getParent(java.lang.String fileName)

  Description copied from class: `FileSystem`
  Get the parent directory of a file or directory.

  Specified by:
    `getParent` in class `FileSystem`
  Parameters:
    `fileName` - the file or directory name
  Returns:
    the parent directory name

### isDirectory

    public boolean isDirectory(java.lang.String fileName)

  Description copied from class: `FileSystem`
  Check if it is a file or a directory.

  Specified by:
    `isDirectory` in class `FileSystem`
  Parameters:
    `fileName` - the file or directory name
  Returns:
    true if it is a directory

### isAbsolute

    public boolean isAbsolute(java.lang.String fileName)

  Description copied from class: `FileSystem`
  Check if the file name includes a path.

  Specified by:
    `isAbsolute` in class `FileSystem`
  Parameters:
    `fileName` - the file name
  Returns:
    if the file name is absolute

### getAbsolutePath

    public java.lang.String getAbsolutePath(java.lang.String fileName)

  Description copied from class: `FileSystem`
  Get the absolute file name.

  Specified by:
    `getAbsolutePath` in class `FileSystem`
  Parameters:
    `fileName` - the file name
  Returns:
    the absolute file name

### getLastModified

    public long getLastModified(java.lang.String fileName)

  Description copied from class: `FileSystem`
  Get the last modified date of a file

  Specified by:
    `getLastModified` in class `FileSystem`
  Parameters:
    `fileName` - the file name
  Returns:
    the last modified date

### canWrite

    public boolean canWrite(java.lang.String fileName)

  Description copied from class: `FileSystem`
  Check if the file is writable.

  Specified by:
    `canWrite` in class `FileSystem`
  Parameters:
    `fileName` - the file name
  Returns:
    if the file is writable

### copy

    public void copy(java.lang.String original,
                     java.lang.String copy)
              throws java.sql.SQLException

  Description copied from class: `FileSystem`
  Copy a file from one directory to another, or to another file.

  Specified by:
    `copy` in class `FileSystem`
  Parameters:
    `original` - the original file name
    `copy` - the file name of the copy
  Throws:
    `java.sql.SQLException`

### createDirs

    public void createDirs(java.lang.String fileName)

  Description copied from class: `FileSystem`
  Create all required directories that are required for this file.

  Specified by:
    `createDirs` in class `FileSystem`
  Parameters:
    `fileName` - the file name (not directory name)

### getFileName

    public java.lang.String getFileName(java.lang.String name)

  Description copied from class: `FileSystem`
  Get the file name (without directory part).

  Specified by:
    `getFileName` in class `FileSystem`
  Parameters:
    `name` - the directory and file name
  Returns:
    just the file name

### fileStartsWith

    public boolean fileStartsWith(java.lang.String fileName,
                                  java.lang.String prefix)

  Description copied from class: `FileSystem`
  Check if a file starts with a given prefix.

  Specified by:
    `fileStartsWith` in class `FileSystem`
  Parameters:
    `fileName` - the complete file name
    `prefix` - the prefix
  Returns:
    true if it starts with the prefix

### openFileOutputStream

    public java.io.OutputStream openFileOutputStream(java.lang.String fileName,
                                                     boolean append)
                                              throws java.sql.SQLException

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

  Specified by:
    `openFileOutputStream` in class `FileSystem`
  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:
    `java.sql.SQLException`

### openFileInputStream

    public java.io.InputStream openFileInputStream(java.lang.String fileName)

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

  Specified by:
    `openFileInputStream` in class `FileSystem`
  Parameters:
    `fileName` - the file name
  Returns:
    the input stream

### openFileObject

    public FileObject openFileObject(java.lang.String fileName,
                                     java.lang.String mode)

  Description copied from class: `FileSystem`
  Open a random access file object.

  Specified by:
    `openFileObject` in class `FileSystem`
  Parameters:
    `fileName` - the file name
    `mode` - the access mode. Supported are r, rw, rws, rwd
  Returns:
    the file object

### accepts

    protected boolean accepts(java.lang.String fileName)

  Description copied from class: `FileSystem`
  Check if the file system is responsible for this file name.

  Specified by:
    `accepts` in class `FileSystem`
  Parameters:
    `fileName` - the file name
  Returns:
    true if it is