class DirFile extends java.io.File implements StorageFile
Modifier and Type | Field and Description |
---|---|
private java.nio.channels.FileLock |
dbLock |
private java.nio.channels.FileChannel |
lockFileChannel |
private java.io.RandomAccessFile |
lockFileOpen |
EXCLUSIVE_FILE_LOCK, EXCLUSIVE_FILE_LOCK_NOT_AVAILABLE, NO_FILE_LOCK_SUPPORT
Constructor and Description |
---|
DirFile(DirFile directoryName,
java.lang.String fileName)
Construct a DirFile from a directory name and a file name.
|
DirFile(java.lang.String path)
Construct a DirFile from a path name.
|
DirFile(java.lang.String directoryName,
java.lang.String fileName)
Construct a DirFile from a directory name and a file name.
|
Modifier and Type | Method and Description |
---|---|
boolean |
deleteAll()
Deletes the named file and, if it is a directory, all the files and directories it contains.
|
int |
getExclusiveFileLock()
Get an exclusive lock.
|
java.io.InputStream |
getInputStream()
Creates an input stream from a file name.
|
java.io.OutputStream |
getOutputStream()
Creates an output stream from a file name.
|
java.io.OutputStream |
getOutputStream(boolean append)
Creates an output stream from a file name.
|
StorageFile |
getParentDir()
Get the name of the parent directory if this name includes a parent.
|
StorageRandomAccessFile |
getRandomAccessFile(java.lang.String mode)
Get a random access (read/write) file.
|
void |
limitAccessToOwner()
Use when creating a new file.
|
void |
releaseExclusiveFileLock()
Release the resource associated with an earlier acquired exclusive lock
|
boolean |
renameTo(StorageFile newName)
Rename the file denoted by this name.
|
canExecute, canRead, canWrite, compareTo, createNewFile, createTempFile, createTempFile, delete, deleteOnExit, equals, exists, getAbsoluteFile, getAbsolutePath, getCanonicalFile, getCanonicalPath, getFreeSpace, getName, getParent, getParentFile, getPath, getTotalSpace, getUsableSpace, hashCode, isAbsolute, isDirectory, isFile, isHidden, lastModified, length, list, list, listFiles, listFiles, listFiles, listRoots, mkdir, mkdirs, renameTo, setExecutable, setExecutable, setLastModified, setReadable, setReadable, setReadOnly, setWritable, setWritable, toPath, toString, toURI, toURL
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
canWrite, createNewFile, delete, exists, getCanonicalPath, getName, getPath, isDirectory, list, mkdir, mkdirs, setReadOnly
private java.io.RandomAccessFile lockFileOpen
private java.nio.channels.FileChannel lockFileChannel
private java.nio.channels.FileLock dbLock
DirFile(java.lang.String path)
path
- The path name.DirFile(java.lang.String directoryName, java.lang.String fileName)
directoryName
- The directory part of the path name.fileName
- The name of the file within the directory.DirFile(DirFile directoryName, java.lang.String fileName)
directoryName
- The directory part of the path name.fileName
- The name of the file within the directory.public StorageFile getParentDir()
getParentDir
in interface StorageFile
public java.io.OutputStream getOutputStream() throws java.io.FileNotFoundException
getOutputStream
in interface StorageFile
java.io.FileNotFoundException
- if the file exists but is a directory
rather than a regular file, does not exist but cannot be created, or
cannot be opened for any other reason.public java.io.OutputStream getOutputStream(boolean append) throws java.io.FileNotFoundException
getOutputStream
in interface StorageFile
append
- If true then data will be appended to the end of the file, if it already exists.
If false and a normal file already exists with this name the file will first be truncated
to zero length.java.io.FileNotFoundException
- if the file exists but is a directory
rather than a regular file, does not exist but cannot be created, or
cannot be opened for any other reason.public java.io.InputStream getInputStream() throws java.io.FileNotFoundException
getInputStream
in interface StorageFile
java.io.FileNotFoundException
- if the file is not found.public int getExclusiveFileLock() throws StandardException
getExclusiveFileLock
in interface StorageFile
StandardException
public void releaseExclusiveFileLock()
releaseExclusiveFileLock
in interface StorageFile
getExclusiveFileLock()
public StorageRandomAccessFile getRandomAccessFile(java.lang.String mode) throws java.io.FileNotFoundException
getRandomAccessFile
in interface StorageFile
mode
- "r", "rw", "rws", or "rwd". The "rws" and "rwd" modes specify
that the data is to be written to persistent store, consistent with the
java.io.RandomAccessFile class ("synchronized" with the persistent
storage, in the file system meaning of the word "synchronized"). However
the implementation is not required to implement the "rws" or "rwd"
modes. The implementation may treat "rws" and "rwd" as "rw". It is up to
the user of this interface to call the StorageRandomAccessFile.sync
method. If the "rws" or "rwd" modes are supported and the
RandomAccessFile was opened in "rws" or "rwd" mode then the
implementation of StorageRandomAccessFile.sync need not do anything.java.lang.IllegalArgumentException
- if the mode argument is not equal to one of "r", "rw".java.io.FileNotFoundException
- if the file exists but is a directory rather than a regular
file, or cannot be opened or created for any other reason .public boolean renameTo(StorageFile newName)
It is not specified whether this method will succeed if a file already exists under the new name.
renameTo
in interface StorageFile
newName
- the new name.public boolean deleteAll()
deleteAll
in interface StorageFile
public void limitAccessToOwner() throws java.io.IOException
StorageFile
derby.useDefaultFilePermissions
is set to true
.limitAccessToOwner
in interface StorageFile
java.io.IOException
Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.