概述
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("文件已创建...");
}
}
}
第一次运行结果:
第二次运行结果: