# Java.io.File类 - Java.io包
**java.io.File**类是文件和目录路径名的抽象表示。以下是有关文件的要点:
* 实例可以或可以不表示实际的文件系统对象,如文件或目录。如果是这样表示这样一个对象,然后该对象位于一个分区。分区是存储为文件系统的操作系统的特定部分。
* 文件系统可以实现限制某些操作的实际文件系统对象,如读,写,和执行上。这些限制统称为访问权限。
* File类的实例是不可变的;也就是说,一旦创建,由一个File对象表示的抽象路径名是不会改变的。
## 类的声明
以下是声明java.io.File类:
```
public class File
extends Object
implements Serializable, Comparable
```
## 字段
以下是java.io.File类的字段:
* static String pathSeparator -- 这是系统相关的路径分隔符,表示为一个字符串以方便使用。
* static char pathSeparatorChar -- 这是依赖于系统的路径分隔符。
* static String separator -- 这是与系统有关的默认名称分隔符,表示为一个字符串以方便使用。
* static char separatorChar -- 这是与系统有关的默认名称分隔符。
## 类的构造函数
| S.N. | 构造函数 & 描述 |
| --- | --- |
| 1 | **File(File parent, String child) ** 此方法创建从父抽象路径名和child路径名字符串的新File实例。 |
| 2 | **File(String pathname) ** 该方法通过将给定路径名字符串转换为抽象路径名来创建一个新File实例。 |
| 3 | **File(String parent, String child) ** 此方法创建从父路径名字符串和child路径名字符串的新File实例。 |
| 4 | **File(URI uri) ** URI转换成抽象路径名:此方法通过给定的文件将创建一个新的File实例。 |
## 类方法
| S.N. | 方法 & 描述 |
| --- | --- |
| 1 | [boolean canExecute() ](http://www.yiibai.com/java/io/file_canexecute.html) 此方法测试应用程序是否可以执行表示此抽象路径名的文件。 |
| 2 | [boolean canRead() ](http://www.yiibai.com/java/io/file_canread.html) 这种方法测试应用程序是否可以读取表示此抽象路径名的文件。 |
| 3 | [boolean canWrite() ](http://www.yiibai.com/java/io/file_canwrite.html) 此方法测试应用程序是否可以修改表示此抽象路径名的文件。 |
| 4 | [int compareTo(File pathname) ](http://www.yiibai.com/java/io/file_compareto.html) 这种方法比较两个抽象路径名的字典顺序。 |
| 5 | [boolean createNewFile() ](http://www.yiibai.com/java/io/file_createnewfile.html) 此方法自动创建此抽象路径名命名的,当且仅当具有此名称的文件尚不存在一个新的空文件。 |
| 6 | [static File createTempFile(String prefix, String suffix) ](http://www.yiibai.com/java/io/file_createtempfile.html) 此方法创建的默认临时文件目录的空文件,使用给定前缀和后缀生成其名称。 |
| 7 | [static File createTempFile(String prefix, String suffix, File directory) ](http://www.yiibai.com/java/io/file_createtempfile_directory.html) 此方法会在指定的目录中一个新的空文件,使用给定前缀和后缀字符串生成其名称。 |
| 8 | [boolean delete() ](http://www.yiibai.com/java/io/file_delete.html) 此方法删除表示此抽象路径名的文件或目录。 |
| 9 | [void deleteOnExit() ](http://www.yiibai.com/java/io/file_deleteonexit.html) 此方法要求将表示此抽象路径名的文件或目录在虚拟机终止时被删除。 |
| 10 | [boolean equals(Object obj) ](http://www.yiibai.com/java/io/file_equals.html) 此方法测试此抽象路径名与给定对象是否相等。 |
| 11 | [boolean exists() ](http://www.yiibai.com/java/io/file_exists.html) 此方法测试表示此抽象路径名的文件或目录是否存在。 |
| 12 | [File getAbsoluteFile() ](http://www.yiibai.com/java/io/file_getabsolutefile.html) 此方法返回此抽象路径名的绝对形式。 |
| 13 | [String getAbsolutePath() ](http://www.yiibai.com/java/io/file_getabsolutepath.html) 此方法返回此抽象路径名的绝对路径名字符串。 |
| 14 | [File getCanonicalFile() ](http://www.yiibai.com/java/io/file_getcanonicalfile.html) 此方法返回此抽象路径名的规范形式。 |
| 15 | [String getCanonicalPath() ](http://www.yiibai.com/java/io/file_getcanonicalpath.html) 此方法返回此抽象路径名的规范路径名字符串。 |
| 16 | [long getFreeSpace() ](http://www.yiibai.com/java/io/file_getfreespace.html) 此方法返回此抽象路径名的分区中的未分配的字节数。 |
| 17 | [String getName() ](http://www.yiibai.com/java/io/file_getname.html) 此方法返回表示此抽象路径名的文件或目录的名称。 |
| 18 | [String getParent() ](http://www.yiibai.com/java/io/file_getparent.html) 此方法返回此抽象路径名的父路径名的字符串,或者null,如果此路径名没有指定父目录。 |
| 19 | [File getParentFile() ](http://www.yiibai.com/java/io/file_getparentfile.html) 此方法返回此抽象路径名的父抽象路径名,或null,如果此路径名没有指定父目录。 |
| 20 | [String getPath() ](http://www.yiibai.com/java/io/file_getpath.html) 此方法此抽象路径名转换为一个路径名字符串。 |
| 21 | [long getTotalSpace() ](http://www.yiibai.com/java/io/file_gettotalspace.html) 此方法返回此抽象路径名的分区的大小。 |
| 22 | [long getUsableSpace() ](http://www.yiibai.com/java/io/file_getusablespace.html) 此方法返回可用字节数这个虚拟机上命名此抽象路径名的分区。 |
| 23 | [int hashCode() ](http://www.yiibai.com/java/io/file_hashcode.html) 此方法用于计算此抽象路径名的哈希码。 |
| 24 | [boolean isAbsolute() ](http://www.yiibai.com/java/io/file_isabsolute.html) 此方法测试此抽象路径名是否是绝对的。 |
| 25 | [boolean isDirectory() ](http://www.yiibai.com/java/io/file_isdirectory.html) 此方法测试表示此抽象路径名的文件是否是一个目录。 |
| 26 | [boolean isFile() ](http://www.yiibai.com/java/io/file_isfile.html) 此方法测试表示此抽象路径名的文件是否是一个正常的文件。 |
| 27 | [boolean isHidden() ](http://www.yiibai.com/java/io/file_ishidden.html) 此方法测试此抽象路径名的文件是否是一个隐藏文件。 |
| 28 | [long lastModified() ](http://www.yiibai.com/java/io/file_lastmodified.html) 此方法返回的时候,表示此抽象路径名的文件的最后修改 |
| 29 | [long length() ](http://www.yiibai.com/java/io/file_length.html) 此方法返回表示此抽象路径名的文件的长度。 |
| 30 | [String[] list() ](http://www.yiibai.com/java/io/file_list.html) 此方法返回的字符串命名表示此抽象路径名的目录中的文件和目录的数组。 |
| 31 | [String[] list(FilenameFilter filter) ](http://www.yiibai.com/java/io/file_list_filter.html) 此方法返回的字符串命名的目录表示此抽象路径名满足指定过滤器的文件和目录的数组。 |
| 32 | [File[] listFiles() ](http://www.yiibai.com/java/io/file_listfiles.html) 此方法返回抽象路径名表示在表示此抽象路径名的目录中的文件的数组。 |
| 33 | [File[] listFiles(FileFilter filter) ](http://www.yiibai.com/java/io/file_listfiles_file_filter.html) 此方法返回抽象路径名表示的目录表示此抽象路径名满足指定过滤器的文件和目录的数组。 |
| 34 | [File[] listFiles(FilenameFilter filter) ](http://www.yiibai.com/java/io/file_listfiles_filename_filter.html) 此方法返回抽象路径名表示的目录表示此抽象路径名满足指定过滤器的文件和目录的数组。 |
| 35 | [static File[] listRoots() ](http://www.yiibai.com/java/io/file_listroots.html) 此方法列出可用的文件系统的根。 |
| 36 | [boolean mkdir() ](http://www.yiibai.com/java/io/file_mkdir.html) 此方法创建此抽象路径名的目录。 |
| 37 | [boolean mkdirs() ](http://www.yiibai.com/java/io/file_mkdirs.html) 此方法创建此抽象路径名的目录,包括任何必需但不存在的父目录 |
| 38 | [boolean renameTo(File dest) ](http://www.yiibai.com/java/io/file_renameto.html) 这种方法将重命名表示此抽象路径名的文件。 |
| 39 | [boolean setExecutable(boolean executable) ](http://www.yiibai.com/java/io/file_setexecutable.html) 这是一个方便的方法来设置所有者对于此抽象路径名执行权限。 |
| 40 | [boolean setExecutable(boolean executable, boolean ownerOnly) ](http://www.yiibai.com/java/io/file_setexecutable_owner.html) 此方法设置所有者或每个人的执行权限,此抽象路径名。 |
| 41 | [boolean setLastModified(long time) ](http://www.yiibai.com/java/io/file_setlastmodified.html) 此方法设置此抽象路径名的文件或目录的最后修改时间。 |
| 42 | [boolean setReadable(boolean readable) ](http://www.yiibai.com/java/io/file_setreadable.html) 这是一个方便的方法来设置此抽象路径名的所有者的读取权限。 |
| 43 | [boolean setReadable(boolean readable, boolean ownerOnly) ](http://www.yiibai.com/java/io/file_setreadable_owner.html) 此方法设置所有者或在此抽象路径名大家的读取权限。 |
| 44 | [boolean setReadOnly() ](http://www.yiibai.com/java/io/file_setreadonly.html) 此方法标志着此抽象路径名命名的,这样只允许读操作的文件或目录。 |
| 45 | [boolean setWritable(boolean writable) ](http://www.yiibai.com/java/io/file_setwritable.html) 这是一个方便的方法来设置此抽象路径名的所有者的写权限。 |
| 46 | [boolean setWritable(boolean writable, boolean ownerOnly) ](http://www.yiibai.com/java/io/file_setwritable_owner.html) 此方法设置此抽象路径名的所有者或每个人的写权限。 |
| 47 | [String toString() ](http://www.yiibai.com/java/io/file_tostring.html) 此方法返回此抽象路径名的路径名字符串。 |
| 48 | [URI toURI() ](http://www.yiibai.com/java/io/file_uri.html) 这种方法构造一个文件:URI表示此抽象路径名。 |
## 继承的方法
这个类继承自以下类方法:
* Java.io.Object