java.io
Class FileSystem

java.lang.Object
  extended byjava.io.FileSystem
Direct Known Subclasses:
Win32FileSystem

abstract class FileSystem
extends Object

Package-private abstract class for the local filesystem abstraction.


Field Summary
static int BA_DIRECTORY
           
static int BA_EXISTS
           
static int BA_HIDDEN
           
static int BA_REGULAR
           
(package private) static boolean useCanonCaches
           
(package private) static boolean useCanonPrefixCache
           
 
Constructor Summary
(package private) FileSystem()
           
 
Method Summary
abstract  String canonicalize(String path)
           
abstract  boolean checkAccess(File f, boolean write)
          Check whether the file or directory denoted by the given abstract pathname may be accessed by this process.
abstract  int compare(File f1, File f2)
          Compare two abstract pathnames lexicographically.
abstract  boolean createDirectory(File f)
          Create a new directory denoted by the given abstract pathname, returning true if and only if the operation succeeds.
abstract  boolean createFileExclusively(String pathname)
          Create a new empty file with the given pathname.
abstract  boolean delete(File f)
          Delete the file or directory denoted by the given abstract pathname, returning true if and only if the operation succeeds.
abstract  boolean deleteOnExit(File f)
          Arrange for the file or directory denoted by the given abstract pathname to be deleted when the VM exits, returning true if and only if the operation succeeds.
abstract  String fromURIPath(String path)
          Post-process the given URI path string if necessary.
abstract  int getBooleanAttributes(File f)
          Return the simple boolean attributes for the file or directory denoted by the given abstract pathname, or zero if it does not exist or some other I/O error occurs.
private static boolean getBooleanProperty(String prop, boolean defaultVal)
           
abstract  String getDefaultParent()
          Return the parent pathname string to be used when the parent-directory argument in one of the two-argument File constructors is the empty pathname.
static FileSystem getFileSystem()
          Return the FileSystem object representing this platform's local filesystem.
abstract  long getLastModifiedTime(File f)
          Return the time at which the file or directory denoted by the given abstract pathname was last modified, or zero if it does not exist or some other I/O error occurs.
abstract  long getLength(File f)
          Return the length in bytes of the file denoted by the given abstract pathname, or zero if it does not exist, is a directory, or some other I/O error occurs.
abstract  char getPathSeparator()
          Return the local filesystem's path-separator character.
abstract  char getSeparator()
          Return the local filesystem's name-separator character.
abstract  int hashCode(File f)
          Compute the hash code of an abstract pathname.
abstract  boolean isAbsolute(File f)
          Tell whether or not the given abstract pathname is absolute.
abstract  String[] list(File f)
          List the elements of the directory denoted by the given abstract pathname.
abstract  File[] listRoots()
          List the available filesystem roots.
abstract  String normalize(String path)
          Convert the given pathname string to normal form.
abstract  int prefixLength(String path)
          Compute the length of this pathname string's prefix.
abstract  boolean rename(File f1, File f2)
          Rename the file or directory denoted by the first abstract pathname to the second abstract pathname, returning true if and only if the operation succeeds.
abstract  String resolve(File f)
          Resolve the given abstract pathname into absolute form.
abstract  String resolve(String parent, String child)
          Resolve the child pathname string against the parent.
abstract  boolean setLastModifiedTime(File f, long time)
          Set the last-modified time of the file or directory denoted by the given abstract pathname, returning true if and only if the operation succeeds.
abstract  boolean setReadOnly(File f)
          Mark the file or directory denoted by the given abstract pathname as read-only, returning true if and only if the operation succeeds.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BA_EXISTS

public static final int BA_EXISTS
See Also:
Constant Field Values

BA_REGULAR

public static final int BA_REGULAR
See Also:
Constant Field Values

BA_DIRECTORY

public static final int BA_DIRECTORY
See Also:
Constant Field Values

BA_HIDDEN

public static final int BA_HIDDEN
See Also:
Constant Field Values

useCanonCaches

static boolean useCanonCaches

useCanonPrefixCache

static boolean useCanonPrefixCache
Constructor Detail

FileSystem

FileSystem()
Method Detail

getFileSystem

public static FileSystem getFileSystem()
Return the FileSystem object representing this platform's local filesystem.


getSeparator

public abstract char getSeparator()
Return the local filesystem's name-separator character.


getPathSeparator

public abstract char getPathSeparator()
Return the local filesystem's path-separator character.


normalize

public abstract String normalize(String path)
Convert the given pathname string to normal form. If the string is already in normal form then it is simply returned.


prefixLength

public abstract int prefixLength(String path)
Compute the length of this pathname string's prefix. The pathname string must be in normal form.


resolve

public abstract String resolve(String parent,
                               String child)
Resolve the child pathname string against the parent. Both strings must be in normal form, and the result will be in normal form.


getDefaultParent

public abstract String getDefaultParent()
Return the parent pathname string to be used when the parent-directory argument in one of the two-argument File constructors is the empty pathname.


fromURIPath

public abstract String fromURIPath(String path)
Post-process the given URI path string if necessary. This is used on win32, e.g., to transform "/c:/foo" into "c:/foo". The path string still has slash separators; code in the File class will translate them after this method returns.


isAbsolute

public abstract boolean isAbsolute(File f)
Tell whether or not the given abstract pathname is absolute.


resolve

public abstract String resolve(File f)
Resolve the given abstract pathname into absolute form. Invoked by the getAbsolutePath and getCanonicalPath methods in the File class.


canonicalize

public abstract String canonicalize(String path)
                             throws IOException
Throws:
IOException

getBooleanAttributes

public abstract int getBooleanAttributes(File f)
Return the simple boolean attributes for the file or directory denoted by the given abstract pathname, or zero if it does not exist or some other I/O error occurs.


checkAccess

public abstract boolean checkAccess(File f,
                                    boolean write)
Check whether the file or directory denoted by the given abstract pathname may be accessed by this process. If the second argument is false, then a check for read access is made; if the second argument is true, then a check for write (not read-write) access is made. Return false if access is denied or an I/O error occurs.


getLastModifiedTime

public abstract long getLastModifiedTime(File f)
Return the time at which the file or directory denoted by the given abstract pathname was last modified, or zero if it does not exist or some other I/O error occurs.


getLength

public abstract long getLength(File f)
Return the length in bytes of the file denoted by the given abstract pathname, or zero if it does not exist, is a directory, or some other I/O error occurs.


createFileExclusively

public abstract boolean createFileExclusively(String pathname)
                                       throws IOException
Create a new empty file with the given pathname. Return true if the file was created and false if a file or directory with the given pathname already exists. Throw an IOException if an I/O error occurs.

Throws:
IOException

delete

public abstract boolean delete(File f)
Delete the file or directory denoted by the given abstract pathname, returning true if and only if the operation succeeds.


deleteOnExit

public abstract boolean deleteOnExit(File f)
Arrange for the file or directory denoted by the given abstract pathname to be deleted when the VM exits, returning true if and only if the operation succeeds.


list

public abstract String[] list(File f)
List the elements of the directory denoted by the given abstract pathname. Return an array of strings naming the elements of the directory if successful; otherwise, return null.


createDirectory

public abstract boolean createDirectory(File f)
Create a new directory denoted by the given abstract pathname, returning true if and only if the operation succeeds.


rename

public abstract boolean rename(File f1,
                               File f2)
Rename the file or directory denoted by the first abstract pathname to the second abstract pathname, returning true if and only if the operation succeeds.


setLastModifiedTime

public abstract boolean setLastModifiedTime(File f,
                                            long time)
Set the last-modified time of the file or directory denoted by the given abstract pathname, returning true if and only if the operation succeeds.


setReadOnly

public abstract boolean setReadOnly(File f)
Mark the file or directory denoted by the given abstract pathname as read-only, returning true if and only if the operation succeeds.


listRoots

public abstract File[] listRoots()
List the available filesystem roots.


compare

public abstract int compare(File f1,
                            File f2)
Compare two abstract pathnames lexicographically.


hashCode

public abstract int hashCode(File f)
Compute the hash code of an abstract pathname.


getBooleanProperty

private static boolean getBooleanProperty(String prop,
                                          boolean defaultVal)