概述

File类是 java.io 包中唯一代表磁盘文件本身的对象。一般用于文件的创建、删除、重命名等操作。

绝对路径与相对路径

  • 绝对路径:从盘符开始的路径,这是一个完整的路径。
  • 相对路径:相对于项目目录的路径,这是一个便捷的路径,开发中经常使用。

构造方法

  • public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的File实例。
  • public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的File实例。
  • public File(File parent, String child) :从父抽象路径名和子路径名字符串创建新的File实例。

接下来我们分别使用这三种构造方法来创建对象。

//第一种
		File file1 = new File("H:\\aaa\\hb.jpg");
		
		//第二种
        File file2 = new File("H:\\aaa","hb.jpg");

		//第三种
        File parent = new File("H:\\aaa");
        File file3 = new File(parent,"hb.jpg");

注意:File对象表示一个文件或者文件夹路径,无论这个路径是否存在,都不会影响File对象的创建。

常用方法

File类常用方法:

(1). 获取功能的方法

  • public String getAbsolutePath() :返回此File的绝对路径名字符串。
  • public String getPath() :返回构造路径。
  • public String getName() :返回由此File表示的文件或目录的名称。
  • public long length() :返回由此File表示的文件的长度。 不能获取目录的长度。

(2). 判断功能的方法

  • public boolean exists() :此File表示的文件或目录是否实际存在。
  • public boolean isDirectory() :此File表示的是否为目录。
  • public boolean isFile() :此File表示的是否为文件。
  • public boolean isHidden() :判断文件是否为隐藏文件。

(3). 创建删除功能的方法

  • public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。
  • public boolean delete() :删除由此File表示的文件或目录。不保留在回收站,是彻底删除
  • public boolean mkdir() :创建由此File表示的目录。
  • public boolean mkdirs() :创建由此File表示的目录,包括任何必需但不存在的父目录。

注意: delete()方法只能删除文件或者空文件夹

接下来我们用一个例子来使用其中一些方法:判断D盘的Test Directory文件夹是否存在test.txt 文件,如果存在就删除,不存在就创建。

public class Test {
    public static void main(String[] args) throws IOException {
        //创建文件对象
        File file = new File("D:/TestDirectory/test.txt");

        if (file.exists()) {                        //如果文件存在
            file.delete();                          //存在就删除
            System.out.println("文件已删除...");
        } else {                                    //如果不存在
            file.createNewFile();                   //不存在就创建
            System.out.println("文件已创建...");
        }
    }
}

第一次运行结果:

File类练习 java java file类的方法_File类练习 java


第二次运行结果:

File类练习 java java file类的方法_路径名_02