Java 教程

Java 控制语句

面向对象编程

Java 内置类

Java 文件处理

Java 错误与异常

Java 多线程

Java 同步

Java 网络编程

Java 集合

Java 接口

Java 数据结构

Java 集合算法

高级 Java

Java 杂项

Java APIs 与框架

Java 类参考

Java 有用资源

Java - File 类



Java File 类

Java File 类以抽象的方式表示文件和目录路径名。此类用于创建文件和目录、文件搜索、文件删除等。

File 对象表示磁盘上的实际文件/目录。

File 类构造函数

以下是创建 File 对象的构造函数列表。

序号 方法及描述
1

File(File parent, String child)

此构造函数从父抽象路径名和子路径名字符串创建一个新的 File 实例。

2

File(String pathname)

此构造函数通过将给定的路径名字符串转换为抽象路径名来创建一个新的 File 实例。

3

File(String parent, String child)

此构造函数从父路径名字符串和子路径名字符串创建一个新的 File 实例。

4

File(URI uri)

此构造函数通过将给定的 file: URI 转换为抽象路径名来创建一个新的 File 实例。

File 类方法

一旦您拥有了 *File* 对象,就可以使用一系列辅助方法来操作文件。

序号 方法及描述
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()

返回此抽象路径名所表示的文件上次修改的时间。返回一个长整数值,表示文件上次修改的时间(以自纪元(1970 年 1 月 1 日 00:00:00 GMT)以来的毫秒数计算),如果文件不存在或发生 I/O 错误,则返回 0L。

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)

按字典顺序比较两个抽象路径名。如果参数等于此抽象路径名,则返回零;如果此抽象路径名按字典顺序小于参数,则返回小于零的值;如果此抽象路径名按字典顺序大于参数,则返回大于零的值。

30

public int compareTo(Object o)

将此抽象路径名与另一个对象进行比较。如果参数等于此抽象路径名,则返回零;如果此抽象路径名按字典顺序小于参数,则返回小于零的值;如果此抽象路径名按字典顺序大于参数,则返回大于零的值。

31

public boolean equals(Object obj)

测试此抽象路径名与给定对象的相等性。当且仅当参数不为 null 且是一个表示与此抽象路径名相同文件或目录的抽象路径名时返回 true。

32

public String toString()

返回此抽象路径名的路径名字符串。这只是 getPath() 方法返回的字符串。

Java 中的 File 类示例

以下是一个演示 File 对象的示例:

package com.tutorialspoint;
import java.io.File;

public class FileDemo {
   
   public static void main(String[] args) {
      File f = null;
      String[] strs = {"test1.txt", "test2.txt"};
      try {
         // for each string in string array 
         for(String s:strs ) {
            // create new file
            f = new File(s);
            
            // true if the file is executable
            boolean bool = f.canExecute();
            
            // find the absolute path
            String a = f.getAbsolutePath(); 
            
            // prints absolute path
            System.out.print(a);
            
            // prints
            System.out.println(" is executable: "+ bool);
         } 
      } catch (Exception e) {
         // if any I/O error occurs
         e.printStackTrace();
      }
   }
}

假设当前目录下有一个可执行文件 test1.txt 和另一个不可执行文件 test2.txt。让我们编译并运行上面的程序,这将产生以下结果:

输出

/home/cg/root/2880380/test1.txt is executable: false
/home/cg/root/2880380/test2.txt is executable: false
java_files_io.htm
广告