这个类的实例表示主机文件系统中的文件名或路径名。一个文件能通过一个路径名指定,此路径名可以是一条绝对路径名,也可以是一条相对于当前工作目录的相对路径名。路径名必须遵循主机平台的命名约定。
File
类提供了一种抽象方式,以便以与机器无关的方式处理机器相关情况下有关文件和路径名的大多数复杂问题。
注意不管何时使用一个文件名或路径,均假定使用主机的文件命名规范。
类 java.io.File
java.lang.Object
|
+----java.io.File
- public class File
- extends Object
- implements Serializable
变量索引
- pathSeparator
- 与系统相关的路径分隔符字符串。
- pathSeparatorChar
- 与系统相关的路径分隔符字符。
- separator
- 与系统相关的路径分隔符字符。
- separatorChar
- 与系统相关的路径分隔符字符串。
构造子索引
- File(File, String)
- 创建一个
File
实例,表示指定路径指定名称的文件。
- File(String)
- 创建一个
File
实例,表示路径名是指定路径参数的文件。
- File(String, String)
- 创建一个
File
实例,它的路径名是指定的路径名后跟分隔符字符和 name
参数。
方法索引
- canRead()
- 测试应用程序是否能从指定的文件中进行读取。
- canWrite()
- 测试应用程序是否能写当前文件。
- delete()
- 删除当前对象指定的文件。
- equals(Object)
- 比较该对象和指定对象。
- exists()
- 测试当前
File
是否存在。
- getAbsolutePath()
- 返回由该对象表示的文件的绝对路径名。
- getCanonicalPath()
- 返回当前
File
对象的路径名的规范格式。
- getName()
- 返回表示当前对象的文件名。
- getParent()
- 返回当前
File
对象路径名的父路径名,如果此名没有父路径则为 null
。
- getPath()
- 返回表示当前对象的路径名。
- hashCode()
- 计算此文件的一个哈希码。
- isAbsolute()
- 测试当前
File
对象表示的文件是否是一个绝对路径名。
- isDirectory()
- 测试当前
File
对象表示的文件是否是一个路径。
- isFile()
- 测试当前
File
对象表示的文件是否是一个“普通”文件。
- lastModified()
- 返回当前
File
对象表示的文件最后修改的时间。
- length()
- 返回当前
File
对象表示的文件长度。
- list()
- 返回当前
File
对象指定的路径文件列表。
- list(FilenameFilter)
- 返回当前
File
对象指定的目录中满足指定过滤器的文件列表。
- mkdir()
- 创建一个目录,它的路径名由当前
File
对象指定。
- mkdirs()
- 创建一个目录,它的路径名由当前
File
对象指定,包括任一必须的父路径。
- renameTo(File)
- 将当前
File
对象指定的文件更名为给定参数
File
指定的路径名。
- toString()
- 返回当前对象的字符串表示。
变量
separator
public static final String separator
- 与系统相关的路径分隔符字符。 这个域被初始化为系统属性
file.separator
的值。
- 参见:
- getProperty
separatorChar
public static final char separatorChar
- 与系统相关的路径分隔符字符串。 这个域被初始化为系统属性
file.separator
的第一个字符。 这个字符分隔文件名中的路径和文件组件。
- 参见:
- getProperty
pathSeparator
public static final String pathSeparator
- 与系统相关的路径分隔符字符串。 这个域被初始化为系统属性
file.separator
的值。
- 参见:
- getProperty
pathSeparatorChar
public static final char pathSeparatorChar
- 与系统相关的路径分隔符字符。 这个域被初始化为系统属性
file.separator
的第一个字符。 这个字符常被用于分隔“路径列表”中给出的一系列文件的文件名。
- 参见:
- getProperty
构造子
File
public File(String path)
- 创建一个
File
实例,表示路径名是指定路径参数的文件。
- 参数:
- path - 文件路径名。
- 抛出:
NullPointerException
- 如果该文件路径等于
null
。
- 参见:
- getPath
File
public File(String path,
String name)
- 创建一个
File
实例,它的路径名是指定的路径名后跟分隔符字符和 name
参数。
- 参数:
- path - 目录的路径名。
- name - 文件路径名。
- 参见:
- getPath, separator
File
public File(File dir,
String name)
- 创建一个
File
实例,表示指定路径指定名称的文件。
如果路径参数为 null
, 则结果
File
实例表示在当前路径(与系统有关)下的一个文件,它的路径名是 name
参数。否则, File
实例表示一个文件,它的路径名是路径参数(dir)给定的路径名,后跟分隔符和
name
参数。
- 参数:
- dir - 路径。
- name - 文件路径名。
- 参见:
- getPath, separator
方法
getName
public String getName()
- 返回表示当前对象的文件名。 这个文件名是路径名中位于最后出现的分隔符以后的所有内容。
- 返回值:
- 当前
File
对象表示的文件名(不带路径)。
- 参见:
- getPath, separator
getPath
public String getPath()
- 返回表示当前对象的路径名。
- 返回值:
- 当前
File
对象表示的路径名。
getAbsolutePath
public String getAbsolutePath()
- 返回由该对象表示的文件的绝对路径名。
如果这个对象表示一个绝对路径名,则返回此路径名。否则,返回一个路径名,它由当前用户路径,分隔字符和当前文件对象的路径名连接而成。
系统属性 user.dir
包含当前用户路径。
- 返回值:
- 当前
File
与系统相关的绝对路径名。
- 参见:
- getPath, isAbsolute, getProperty
getCanonicalPath
public String getCanonicalPath() throws IOException
- 返回当前
File
对象的路径名的规范格式。
规范格式的准确定义是与系统有关的,但是它常指一个绝对路径名,它完全决定了当前用户目录的所有相关引用。不可能定义不存在路径名的规范格式。
- 抛出:
OException
- 如果出现一个 I/O 错误。这是可能的,因为创建规范路径时可能需要查询文件系统。
getParent
public String getParent()
- 返回当前
File
对象路径名的父路径名,如果此路径名没有父路径则为 null
。 尽管父路径的确切定义与系统有关,但父路径通常指路径名中位于最后出现的分隔符之前的所有部分。例如,在 UNIX 系统中, "/usr/lib"
的父路径是
"/usr"
, "/usr"
的父路径是 "/"
,
"/"
没有父路径。在 Windows 平台中,"c:\java"
的父路径是 "c:\"
, "c:\"
不再有父路径。
- 参见:
- getPath, getCanonicalPath, separator
exists
public boolean exists()
- 测试当前
File
是否存在。
- 返回值:
- 如果当前对象指定的文件存在则为
true
;否则为 false
。
- 抛出:
SecurityException
- 如果有一个安全管理器,则用当前
File
的路径名调用
checkRead
方法,查看是否允许此应用程序读该文件。
- 参见:
- getPath, checkRead
canWrite
public boolean canWrite()
- 测试应用程序是否能写入当前文件。
- 返回值:
- 如果此应用程序可以写访问当前对象指定的文件名对应的文件则为
true
;否则为 false
。
- 抛出:
SecurityException
- 如果有一个安全管理器,则用当前
File
的路径名调用
checkRead
方法,查看是否允许此应用程序写访问该文件。
- 参见:
- getPath, checkWrite
canRead
public boolean canRead()
- 测试应用程序是否能从指定的文件中进行读取。
- 返回值:
- 如果当前对象指定的文件存在且此应用程序能读该文件则为
true
;否则为 false
。
- 抛出:
SecurityException
- 如果有一个安全管理器,则用当前
File
的路径名调用
checkRead
方法,查看是否允许此应用程序读该文件。
- 参见:
- getPath, checkRead
isFile
public boolean isFile()
- 测试当前
File
对象表示的文件是否是一个“普通”文件。
如果一个文件不是一个路径且满足其它系统的标准,则它是一个“普通”文件。由 Java 的一个应用程序创建的任何非路径文件肯定是一个“普通”文件。
- 返回值:
- 如果当前对象指定的文件存在且是一个“普通”文件则为
true
;否则为 false
。
- 抛出:
SecurityException
- 如果有一个安全管理器,则用当前
File
的路径名调用
checkRead
方法,查看是否允许此应用程序读该文件。
- 参见:
- getPath, checkRead
isDirectory
public boolean isDirectory()
- 测试当前
File
对象表示的文件是否是一条路径。
- 返回值:
- 如果当前
File
存在且是一条路径则为true
;否则为 false
。
- 抛出:
SecurityException
- 如果有一个安全管理器,则用当前
File
的路径名调用
checkRead
方法,查看是否允许此应用程序读该文件。
- 参见:
- getPath, checkRead
isAbsolute
public native boolean isAbsolute()
- 测试当前
File
对象表示的文件是否是一个绝对路径名。 一条绝对路径名的定义是与系统有关的。例如,在 UNIX 中,如果一个路径名的首字符是分隔符则它是一条绝对路径。在 Windows 平台上,如果一个路径名的首字符是
ASCII '\' 或 '/', 或以后跟一个冒号的字母开始,则它是一条绝对路径。
- 返回值:
- 如果当前
File
对象表示的路径名是一个绝对路径名则为 true
;否则为 false
。
- 参见:
- getPath, separator
lastModified
public long lastModified()
- 返回当前
File
对象表示的文件最后修改的时间。
返回值是与系统有关的,且仅应用于与最后修改返回的其它值作比较。它不应该解释为一个绝对时间。
- 返回值:
- 当前对象指定的文件的最后修改时间;如果指定文件不存在则为
0L
。
- 抛出:
SecurityException
- 如果有一个安全管理器,则用当前
File
的路径名调用
checkRead
方法,查看是否允许此应用程序读该文件。
- 参见:
- getPath, checkRead
length
public long length()
- 返回当前
File
对象表示的文件的长度。
- 返回值:
- 当前对象指定的文件的字节长度;如果指定文件不存在则为
0L
。
- 抛出:
SecurityException
- 如果有一个安全管理器,则用当前
File
的路径名调用
checkRead
方法,查看是否允许此应用程序读该文件。
- 参见:
- getPath, checkRead
mkdir
public boolean mkdir()
- 创建一个目录,它的路径名由当前
File
对象指定。
- 返回值:
- 如果该目录能被创建则为
true
;否则为 false
。
- 抛出:
SecurityException
- 如果有一个安全管理器,则用当前
File
的路径名调用
checkRead
方法,查看是否允许此应用程序写访问该文件。
- 参见:
- getPath, checkWrite
renameTo
public boolean renameTo(File dest)
- 将这个
File
对象指定的文件更名为给定参数
File
指定的路径名。
- 参数:
- dest - 新文件名。
- 返回值:
- 如果更名操作成功则为
true
;否则为
false
。
- 抛出:
SecurityException
- 如果有一个安全管理器,则用当前文件对象的路径名和目标对象的路径名调用
checkWrite
方法,查看是否允许此应用程序写这两个文件。
- 参见:
- getPath, checkWrite
mkdirs
public boolean mkdirs()
- 创建一个目录,它的路径名由当前
File
对象指定,包括任一必须的父路径。
- 返回值:
- 如果该目录(或多级目录)能被创建则为
true
;否则为
false
。
- 抛出:
SecurityException
- 如果有一个安全管理器,则在任一路径被创建之前,用将被创建的路径中的每个路径名调用它的
checkWrite
方法。
- 参见:
- getPath, checkWrite
list
public String[] list()
- 返回当前
File
对象指定的路径文件列表。
- 返回值:
- 指定路径中的文件名数组。这个列表不包括当前路径或父路径("
.
" 和 "..
"
在 Unix 系统中)。
- 抛出:
SecurityException
- 如果有一个安全管理器,则用当前
File
的路径名调用
checkRead
方法,查看是否允许此应用程序读该文件。
- 参见:
- getPath, checkRead
list
public String[] list(FilenameFilter filter)
- 返回当前
File
对象指定的目录中满足指定过滤器的文件列表。
- 参数:
- filter - 一个文件名过滤器。
- 返回值:
- 指定路径中的文件名数组。这个列表不包括当前路径或父路径("
.
" 和 "..
"
在 Unix 系统中)。
- 抛出:
SecurityException
- 如果有一个安全管理器,则用当前
File
的路径名调用
checkRead
方法,查看是否允许此应用程序读该文件。
- 参见:
- getPath, FilenameFilter, checkRead
delete
public boolean delete()
- 删除当前对象指定的文件。 如果将删除的文件是一个目录,则它必须为空才能被成功删除。
- 返回值:
- 如果此文件被成功删除了则为
true
;否则为
false
。
- 抛出:
SecurityException
- 如果有一个安全管理器,则用当前
File
的路径名调用
checkRead
方法,查看是否允许此应用程序删除该文件。
- 参见:
- getPath, checkDelete
hashCode
public int hashCode()
- 计算此文件的一个哈希码。
- 返回值:
- 当前
File
对象的哈希码。
- 覆盖:
- 类
Object 中的 hashCode
equals
public boolean equals(Object obj)
- 比较该对象和指定对象。
当且仅当参数不为 null
且是具有与该对象的路径名相同的路径名的一个 File
对象,则结果为 true
。
- 参数:
- obj - 比较的对象。
- 返回值:
- 如果是相同对象则为
true
,否则为 false
。
- 覆盖:
- 类 Object
中的
equals
toString
public String toString()
- 返回当前对象的字符串表示。
- 返回值:
- 当前对象的路径名串。
- 覆盖:
- 类 Object 中的
toString
- 参见:
- getPath