位置:首页 > Java技术 > Java基础教程 > Java File类

Java File类

Java文件类表示一个抽象的方式将文件和目录路径名。这个类用于创建文件和目录,文件搜索,删除文件等。

File对象表示在磁盘上的实际文件/目录。有下面的构造函数来创建一个文件对象:

以下语法创建了一个从父抽象路径名和child路径名字符串的新File实例。

File(File parent, String child);

以下语法通过将给定路径名字符串转换为抽象路径名来创建一个新File实例。

File(String pathname) 

下面的语法从父路径名字符串和child路径名字符串创建一个新File实例

File(String parent, String child) 

URI转换成抽象路径名:下面的语法由给定的文件转换创建一个新的File实例。

File(URI uri) 

一旦有了File对象,再有就是使用helper方法可以用来操作文件的列表。

SN 方法描述
1 public String getName()
返回表示此抽象路径名的文件或目录的名称。
2 public String getParent()
返回此抽象路径名的父路径名的字符串或者如果此路径名没有指定父目录返回null。
3 public File getParentFile()
返回此抽象路径名的父抽象路径名,或如果此路径名没有指定父目录则返回null。
4 public String getPath()
此抽象路径名转换为一个路径名字符串。
5 public boolean isAbsolute()
测试此抽象路径名是否是绝对的,那么返回true。如果此抽象路径名是绝对的,则返回false
6 public String getAbsolutePath()
返回此抽象路径名的绝对路径名字符串。
7 public boolean canRead()
测试应用程序是否可以读取表示此抽象路径名的文件。返回true当且仅当此抽象路径名指定的文件存在,并且可以被应用程序读取。否则为false。
8 public boolean canWrite()
测试应用程序是否可以修改,以表示此抽象路径名的文件。则返回true当且仅当文件系统实际上包含表示此抽象路径名的文件,并允许应用程序写入到文件中。否则为false。
9 public boolean exists()
测试表示此抽象路径名的文件或目录是否存在。返回true当且仅当表示此抽象路径名的文件或目录存在,否则返回false
10 public boolean isDirectory()
测试表示此抽象路径名的文件是否是一个目录。当且仅当表示此抽象路径名的文件存在且是一个目录,则返回true。否则为false。
11 public boolean isFile()
测试表示此抽象路径名的文件是否是一个正常的文件。文件是正常的,如果它不是一个目录,此外,满足其他系统相关的标准。通过一个Java应用程序创建的任何非目录的文件是保证一个正常的文件。返回当且仅当表示此抽象路径名的文件存在并且是一个正常的文件,则为true,否则返回false。
12 public long lastModified()
表示此抽象路径名的文件的最后修改的时间。返回一个long值,表示时间的文件的最后修改,在自纪元(00:00:00 GMT,1970年1月),或0L毫秒为单位,如果该文件不存在或发生I/ O错误。
13 public long length()
返回表示此抽象路径名的文件的长度。返回值是不确定的,如果此路径名表示一个目录。
14 public boolean createNewFile() throws IOException
原子创建此抽象路径名命名的,当且仅当具有此名称的文件尚不存在一个新的空文件。返回true如果指定的文件不存在,并已成功创建,如果指定的文件已经存在则返回false。
15 public boolean delete()
删除表示此抽象路径名的文件或目录。如果此路径名表示一个目录,则该目录必须是空的才能被删除。返回true当且仅当该文件或目录被成功删除,否则返回false。
16 public void deleteOnExit()
这表示此抽象路径名的文件或目录在虚拟机终止时,被删除的请求。
17 public String[] list()
返回字符串命名表示此抽象路径名的目录中的文件和目录的数组。
18 public String[] list(FilenameFilter filter)
返回一个字符串命名的目录表示此抽象路径名满足指定过滤器的文件和目录的数组。
20 public File[] listFiles()
返回一个抽象路径名表示在表示此抽象路径名的目录中的文件的数组。
21 public File[] listFiles(FileFilter filter)
返回一个抽象路径名表示的目录表示此抽象路径名满足指定过滤器的文件和目录的数组。
22 public boolean mkdir()
创建此抽象路径名的目录。当且仅当在创建目录,则返回true,否则返回false。
23 public boolean mkdirs()
创建此抽象路径名,包括任何必需但不存在的父目录的目录。返回 true 当且仅当创建的目录,以及所有必需的父目录。否则为false;
24 public boolean renameTo(File dest)
重命名此抽象路径名的文件。返回true当且仅当重命名成功,否则返回false。
25 public boolean setLastModified(long time)
设置此抽象路径名的文件或目录的最后修改时间。返回true当且仅当操作成功,否则为false。
26 public boolean setReadOnly()
标记此抽象路径名命名的,因此只有读操作的文件或目录是允许的。返回true当且仅当操作成功,否则为false。
27 public static File createTempFile(String prefix, String suffix, File directory) throws IOException
创建在指定目录下一个新的空文件,使用给定前缀和后缀字符串生成其名称。返回一个抽象路径名表示一个新创建的空文件。
28 public static File createTempFile(String prefix, String suffix) throws IOException
创建在默认的临时文件目录的空文件,使用给定前缀和后缀生成其名称。调用此方法等效于调用createTempFile(prefix, suffix, null)。返回抽象路径名表示一个新创建的空文件。
29 public int compareTo(File pathname)
C字典顺序比较两个抽象路径名。返回0如果参数等于这个抽象路径名,返回负数如果此抽象路径名的字典顺序比参数,返回大于0如果此抽象路径名的字典顺序大于参数。
30 public int compareTo(Object o)
这个比较抽象路径名到另一个对象。返回0如果参数等于这个抽象路径名,返回负数如果此抽象路径名的字典顺序比参数,或返回大于0如果此抽象路径名的字典顺序大于参数。
31 public boolean equals(Object obj)
测试此抽象路径名与给定对象是否相等。返回true当且仅当参数不为null,并且是一个抽象路径名表示因为此抽象路径名相同的文件或目录。
32 public String toString()
返回此抽象路径名的路径名字符串。这仅仅是由getPath()方法返回的字符串。

例子:

下面是例子来演示文件对象:

import java.io.File;

public class DirList {
   public static void main(String args[]) {
      String dirname = "/tmp";
      File f1 = new File(dirname);
      if (f1.isDirectory()) {
         System.out.println( "Directory of " + dirname);
         String s[] = f1.list();
         for (int i=0; i < s.length; i++) {
            File f = new File(dirname + "/" + s[i]);
            if (f.isDirectory()) {
               System.out.println(s[i] + " is a directory");
            } else {
               System.out.println(s[i] + " is a file");
            }
         }
      } else {
         System.out.println(dirname + " is not a directory");
    }
  }
}

这将产生以下结果:

Directory of /mysql
bin is a directory
lib is a directory
demo is a directory
test.txt is a file
README is a file
index.html is a file
include is a directory