public class File extends Object implements Serializable, Comparable<File>
| Modifier and Type | Field and Description |
|---|---|
static String |
pathSeparator
This is the string that is used to separate the host name from the
path name in paths that include the host name.
|
static char |
pathSeparatorChar
This is the first character of the string used to separate the host name
from the path name in paths that include a host.
|
static String |
separator
This is the path separator string for the current host.
|
static char |
separatorChar
This is the first character of the file separator string.
|
| Constructor and Description |
|---|
File(File directory,
String name)
This method initializes a new
File object to represent
a file in the specified directory. |
File(String name)
This method initializes a new
File object to represent
a file with the specified path. |
File(String dirPath,
String name)
This method initializes a new
File object to represent
a file in the specified named directory. |
File(URI uri)
This method initializes a new
File object to represent
a file corresponding to the specified file: protocol URI. |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canExecute()
This method tests whether or not the current thread is allowed to
to execute the file pointed to by this object.
|
boolean |
canRead()
This method tests whether or not the current thread is allowed to
to read the file pointed to by this object.
|
boolean |
canWrite()
This method test whether or not the current thread is allowed to
write to this object.
|
int |
compareTo(File other)
This method compares the specified
File to this one
to test for equality. |
boolean |
createNewFile()
This method creates a new file of zero length with the same name as
the path of this
File object if an only if that file
does not already exist. |
static File |
createTempFile(String prefix,
String suffix)
This method creates a temporary file in the system temporary directory.
|
static File |
createTempFile(String prefix,
String suffix,
File directory)
This method creates a temporary file in the specified directory.
|
boolean |
delete()
This method deletes the file represented by this object.
|
void |
deleteOnExit()
Calling this method requests that the file represented by this object
be deleted when the virtual machine exits.
|
boolean |
equals(Object obj)
This method tests two
File objects for equality by
comparing the path of the specified File against the path
of this object. |
boolean |
exists()
This method tests whether or not the file represented by the object
actually exists on the filesystem.
|
File |
getAbsoluteFile()
This method returns a
File object representing the
absolute path of this object. |
String |
getAbsolutePath()
This method returns the path of this file as an absolute path name.
|
File |
getCanonicalFile()
This method returns a
File object representing the
canonical path of this object. |
String |
getCanonicalPath()
This method returns a canonical representation of the pathname of
this file.
|
String |
getName()
This method returns the name of the file.
|
String |
getParent()
This method returns a
String the represents this file's
parent. |
File |
getParentFile()
This method returns a
File object representing the parent
file of this one. |
String |
getPath()
Returns the path name that represents this file.
|
int |
hashCode()
This method returns a hash code representing this file.
|
boolean |
isAbsolute()
This method returns true if this object represents an absolute file
path and false if it does not.
|
boolean |
isDirectory()
This method tests whether or not the file represented by this object
is a directory.
|
boolean |
isFile()
This method tests whether or not the file represented by this object
is a "plain" file.
|
boolean |
isHidden()
This method tests whether or not this file represents a "hidden" file.
|
long |
lastModified()
This method returns the last modification time of this file.
|
long |
length()
This method returns the length of the file represented by this object,
or 0 if the specified file does not exist.
|
String[] |
list()
This method returns a array of
String's representing the
list of files is then directory represented by this object. |
String[] |
list(FilenameFilter filter)
This method returns a array of
String's representing the
list of files is then directory represented by this object. |
File[] |
listFiles()
This method returns an array of
File objects representing
all the files in the directory represented by this object. |
File[] |
listFiles(FileFilter filter)
This method returns an array of
File objects representing
all the files in the directory represented by this object. |
File[] |
listFiles(FilenameFilter filter)
This method returns an array of
File objects representing
all the files in the directory represented by this object. |
static File[] |
listRoots()
This method returns an array of filesystem roots.
|
boolean |
mkdir()
This method creates a directory for the path represented by this object.
|
boolean |
mkdirs()
This method creates a directory for the path represented by this file.
|
boolean |
renameTo(File dest)
This method renames the file represented by this object to the path
of the file represented by the argument
File. |
boolean |
setExecutable(boolean executable)
This method sets the owner's execute permission for the File represented
by this object.
|
boolean |
setExecutable(boolean executable,
boolean ownerOnly)
This method sets the execute permissions for the File represented by
this object.
|
boolean |
setLastModified(long time)
This method sets the modification time on the file to the specified
value.
|
boolean |
setReadable(boolean readable)
This method sets the owner's read permission for the File represented by
this object.
|
boolean |
setReadable(boolean readable,
boolean ownerOnly)
This method sets the read permissions for the File represented by
this object.
|
boolean |
setReadOnly()
This method sets the file represented by this object to be read only.
|
boolean |
setWritable(boolean writable)
This method sets the owner's write permission for the File represented by
this object.
|
boolean |
setWritable(boolean writable,
boolean ownerOnly)
This method sets the write permissions for the File represented by
this object.
|
String |
toString()
This method returns a
String that is the path name of the
file as returned by getPath. |
URI |
toURI() |
URL |
toURL()
This method returns a
URL with the file:
protocol that represents this file. |
public static final String separator
file.separator system property.
An example separator string would be "/" on the GNU system.public static final char separatorChar
file.separatorsystem property.public static final String pathSeparator
path.separator system property.public static final char pathSeparatorChar
path.separator system property.public File(String name)
File object to represent
a file with the specified path.name - The path name of the filepublic File(String dirPath, String name)
File object to represent
a file in the specified named directory. The path name to the file
will be the directory name plus the separator string plus the file
name. If the directory path name ends in the separator string, another
separator string will still be appended.dirPath - The path to the directory the file resides inname - The name of the filepublic File(File directory, String name)
File object to represent
a file in the specified directory. If the directory
argument is null, the file is assumed to be in the
current directory as specified by the user.dir system
propertydirectory - The directory this file resides inname - The name of the filepublic File(URI uri)
File object to represent
a file corresponding to the specified file: protocol URI.uri - The URIIllegalArgumentException - if the URI is not hierarchicalpublic boolean canRead()
SecurityManager
(if any) allows access to the file via it's checkRead
method 3) the file is readable.true if reading is allowed,
false otherwiseSecurityException - If the SecurityManager
does not allow access to the filepublic boolean canWrite()
SecurityManager (if any) allows write access to the
file and 2) The file exists and 3) The file is writable. To determine
whether or not a non-existent file can be created, check the parent
directory for write access.true if writing is allowed, false
otherwiseSecurityException - If the SecurityManager
does not allow access to the filepublic boolean canExecute()
SecurityManager
(if any) allows access to the file via it's checkExec
method 3) the file is executable.true if execution is allowed,
false otherwiseSecurityException - If the SecurityManager
does not allow access to the filepublic boolean createNewFile() throws IOException
File object if an only if that file
does not already exist.
A SecurityManager.checkWrite check is done prior
to performing this action.
true if the file was created, false if
the file alread existed.IOException - If an I/O error occursSecurityException - If the SecurityManager will
not allow this operation to be performed.public boolean delete()
true if the file was deleted, false
otherwiseSecurityException - If deleting of the file is not allowedpublic boolean equals(Object obj)
File objects for equality by
comparing the path of the specified File against the path
of this object. The two objects are equal if an only if 1) The
argument is not null 2) The argument is a File object and
3) The path of the Fileargument is equal to the path
of this object.
The paths of the files are determined by calling the
getPath()
method on each object.
equals in class Objectobj - the Object to compare totrue if the two objects are equal,
false otherwise.Object.hashCode()public boolean exists()
true if the file exists, falseotherwise.SecurityException - If reading of the file is not permittedpublic String getAbsolutePath()
user.dir system property.public File getAbsoluteFile()
File object representing the
absolute path of this object.File with the absolute path of the object.public String getCanonicalPath() throws IOException
Note that this method, unlike the other methods which return path names, can throw an IOException. This is because native method might be required in order to resolve the canonical path
IOException - If an error occurspublic File getCanonicalFile() throws IOException
File object representing the
canonical path of this object.File instance representing the canonical path of
this object.IOException - If an error occurs.public String getName()
public String getParent()
String the represents this file's
parent. null is returned if the file has no parent. The
parent is determined via a simple operation which removes the name
after the last file separator character, as determined by the platform.public File getParentFile()
File object representing the parent
file of this one.File for the parent of this object.
null
will be returned if this object does not have a parent.public String getPath()
public int hashCode()
getPath())
exclusived or-ed with the value 1234321.hashCode in class ObjectObject.equals(Object),
System.identityHashCode(Object)public boolean isAbsolute()
true if this object represents an absolute
file name, false otherwise.public boolean isDirectory()
true,
the file represented by this object must exist and be a directory.true if this file is a directory, false
otherwiseSecurityException - If reading of the file is not permittedpublic boolean isFile()
true if this is a plain file, false
otherwiseSecurityException - If reading of the file is not permittedpublic boolean isHidden()
true if the file is hidden, false
otherwise.public long lastModified()
If the file does not exist, then a value of 0 is returned.
SecurityException - If reading of the file is not permittedpublic long length()
SecurityException - If reading of the file is not permittedpublic String[] list(FilenameFilter filter)
String's representing the
list of files is then directory represented by this object. If this
object represents a non-directory file or a non-existent file, then
null is returned. The list of files will not contain
any names such as "." or ".." which indicate the current or parent
directory. Also, the names are not guaranteed to be sorted.
In this form of the list() method, a filter is specified
that allows the caller to control which files are returned in the
list. The FilenameFilter specified is called for each
file returned to determine whether or not that file should be included
in the list.
A SecurityManager check is made prior to reading the
directory. If read access to the directory is denied, an exception
will be thrown.
filter - An object which will identify files to exclude from
the directory listing.null
if this object does not represent a valid directory.SecurityException - If read access is not allowed to the
directory by the SecurityManagerpublic String[] list()
String's representing the
list of files is then directory represented by this object. If this
object represents a non-directory file or a non-existent file, then
null is returned. The list of files will not contain
any names such as "." or ".." which indicate the current or parent
directory. Also, the names are not guaranteed to be sorted.
A SecurityManager check is made prior to reading the
directory. If read access to the directory is denied, an exception
will be thrown.
null if
this object does not represent a valid directory.SecurityException - If read access is not allowed to the
directory by the SecurityManagerpublic File[] listFiles()
File objects representing
all the files in the directory represented by this object. If this
object does not represent a directory, null is returned.
Each of the returned File object is constructed with this
object as its parent.
A SecurityManager check is made prior to reading the
directory. If read access to the directory is denied, an exception
will be thrown.
File objects for this directory.SecurityException - If the SecurityManager denies
access to this directory.public File[] listFiles(FilenameFilter filter)
File objects representing
all the files in the directory represented by this object. If this
object does not represent a directory, null is returned.
Each of the returned File object is constructed with this
object as its parent.
In this form of the listFiles() method, a filter is specified
that allows the caller to control which files are returned in the
list. The FilenameFilter specified is called for each
file returned to determine whether or not that file should be included
in the list.
A SecurityManager check is made prior to reading the
directory. If read access to the directory is denied, an exception
will be thrown.
File objects for this directory.SecurityException - If the SecurityManager denies
access to this directory.public File[] listFiles(FileFilter filter)
File objects representing
all the files in the directory represented by this object. If this
object does not represent a directory, null is returned.
Each of the returned File object is constructed with this
object as its parent.
In this form of the listFiles() method, a filter is specified
that allows the caller to control which files are returned in the
list. The FileFilter specified is called for each
file returned to determine whether or not that file should be included
in the list.
A SecurityManager check is made prior to reading the
directory. If read access to the directory is denied, an exception
will be thrown.
File objects for this directory.SecurityException - If the SecurityManager denies
access to this directory.public String toString()
String that is the path name of the
file as returned by getPath.toString in class ObjectString representation of this fileObject.getClass(),
Object.hashCode(),
Class.getName(),
Integer.toHexString(int)public URL toURL() throws MalformedURLException
URL with the file:
protocol that represents this file. The exact form of this URL is
system dependent.URL for this object.MalformedURLException - If the URL cannot be created
successfully.public boolean mkdir()
true if the directory was created,
false otherwiseSecurityException - If write access is not allowed to this filepublic boolean mkdirs()
true if the directory was created,
false otherwiseSecurityException - If write access is not allowed to this filepublic static File createTempFile(String prefix, String suffix, File directory) throws IOException
java.io.tmpdir system property.
The prefix parameter is a sequence of at least three
characters that are used as the start of the generated filename. The
suffix parameter is a sequence of characters that is used
to terminate the file name. This parameter may be null
and if it is, the suffix defaults to ".tmp".
If a SecurityManager exists, then its checkWrite
method is used to verify that this operation is permitted.
prefix - The character prefix to use in generating the path name.suffix - The character suffix to use in generating the path name.directory - The directory to create the file in, or
null for the default temporary directoryIllegalArgumentException - If the patterns is not validSecurityException - If there is no permission to perform
this operationIOException - If an error occurspublic boolean setReadable(boolean readable)
setReadable(readable, true).readable - true to set read permission,
false to unset the read permission.true if the file permissions are changed,
false otherwise.SecurityException - If write access of the file is not permitted.setReadable(boolean, boolean)public boolean setReadable(boolean readable, boolean ownerOnly)
ownerOnly is set to true then only the
read permission bit for the owner of the file is changed.
If ownerOnly is set to false, the file
permissions are changed so that the file can be read by everyone.
On unix like systems this sets the user, group
and other read bits and is equal to call
chmod a+r on the file.readable - true to set read permission,
false to unset the read permission.ownerOnly - true to set read permission
for owner only, false for all.true if the file permissions are changed,
false otherwise.SecurityException - If write access of the file is not permitted.setReadable(boolean)public boolean setWritable(boolean writable)
setWritable(readable, true).writable - true to set write permission,
false to unset write permission.true if the file permissions are changed,
false otherwise.SecurityException - If write access of the file is not permitted.setWritable(boolean, boolean)public boolean setWritable(boolean writable, boolean ownerOnly)
ownerOnly is set to true then only the
write permission bit for the owner of the file is changed.
If ownerOnly is set to false, the file
permissions are changed so that the file can be written by everyone.
On unix like systems this set the user, group
and other write bits and is equal to call
chmod a+w on the file.writable - true to set write permission,
false to unset write permission.ownerOnly - true to set write permission
for owner only, false for all.true if the file permissions are changed,
false otherwise.SecurityException - If write access of the file is not permitted.setWritable(boolean)public boolean setExecutable(boolean executable)
setExecutable(readable, true).executable - true to set execute permission,
false to unset execute permission.true if the file permissions are changed,
false otherwise.SecurityException - If write access of the file is not permitted.setExecutable(boolean, boolean)public boolean setExecutable(boolean executable, boolean ownerOnly)
ownerOnly is set to true then only the
execute permission bit for the owner of the file is changed.
If ownerOnly is set to false, the file
permissions are changed so that the file can be executed by everyone.
On unix like systems this set the user, group
and other write bits and is equal to call
chmod a+x on the file.executable - true to set write permission,
false to unset write permission.ownerOnly - true to set write permission
for owner only, false for all.true if the file permissions are changed,
false otherwise.SecurityException - If write access of the file is not permitted.setExecutable(boolean)public boolean setReadOnly()
true if the operation succeeded, false
otherwise.SecurityException - If the SecurityManager does
not allow this operation.public static File[] listRoots()
File objects for each filesystem root
available.public static File createTempFile(String prefix, String suffix) throws IOException
java.io.tmpdir system property.
The prefix parameter is a sequence of at least three
characters that are used as the start of the generated filename. The
suffix parameter is a sequence of characters that is used
to terminate the file name. This parameter may be null
and if it is, the suffix defaults to ".tmp".
If a SecurityManager exists, then its checkWrite
method is used to verify that this operation is permitted.
This method is identical to calling
createTempFile(prefix, suffix, null).
prefix - The character prefix to use in generating the path name.suffix - The character suffix to use in generating the path name.IllegalArgumentException - If the prefix or suffix are not valid.SecurityException - If there is no permission to perform
this operationIOException - If an error occurspublic int compareTo(File other)
File to this one
to test for equality. It does this by comparing the canonical path names
of the files.
The canonical paths of the files are determined by calling the
getCanonicalPath method on each object.
This method returns a 0 if the specified Object is equal
to this one, a negative value if it is less than this one
a positive value if it is greater than this one.
compareTo in interface Comparable<File>other - the object to be comparedpublic boolean renameTo(File dest)
File.dest - The File object representing the target nametrue if the rename succeeds, false
otherwise.SecurityException - If write access is not allowed to the
file by the SecurityMananger.public boolean setLastModified(long time)
time - The desired modification time.true if the operation succeeded, false
otherwise.IllegalArgumentException - If the specified time is negative.SecurityException - If the SecurityManager will
not allow this operation.public void deleteOnExit()
SecurityException - If deleting of the file is not allowed