0、
File 类用于封装一个路径,这个路径可以是从系统盘符开始的绝对路径,如“D:\file\a.txt”,也可以是相当于当前目录而言的相对路径,如“src\Hello.java”。
1、
File 类内部封装的路径可以指向一个文件,也可以指向一个目录,在 File 类中提供了针对这些文件或目录的一些常规操作。接下来首先介绍一下 File 类常用的构造方法,如下所示。
方法声明 | 功能描述 |
---|---|
File(String pathname) | 通过指定的一个字符串类型的文件路径来创建一个新的 File 对象 |
File(String parent, String child) | 根据指定的一个字符串类型的父路径和一个字符串类型的子路径(包括文件名称)创建一个 File 对象 |
File(File parent, String child) | 根据指定的 File 类的父路径和字符串类型的子路径(包括文件名称)创建一个 File 对象 |
上表列出了 File 类的三个构造方法。通常来讲,如果程序只处理一个目录或文件,并且知道该目录或文件的路径,使用第一个构造方法较方便。如果程序处理的是一个公共目录中的若干子目录或文件,那么使用第二个或者第三个构造方法会更方便。
2、
File 类中提供了一系列方法,用于操作其内部封装的路径指向的文件或者目录,例如判断文件或目录是否存在、创建、删除文件或目录等。接下来介绍一下 File 类中的常用方法,如下所示。
方法声明 | 功能描述 |
---|---|
boolean exists() | 判断 File 对象对应的文件或目录是否存在,若存在则返回 ture,否则返回 false |
boolean delete() | 删除 File 对象对应的文件或目录,若成功删除则返回 ture,否则返回 false |
boolean createNewFile() | 当 File 对象对应的文件不存在时,该方法将新建一个此 File 对象所指定的新文件,若创建成功则返回 true,否则返回 false |
String getName() | 返回 File 对象表示的文件或文件夹的名称 |
Strign getPath() | 返回 File 对象对应的路径 |
String getAbsolutePath() | 返回 File 对象对应的绝对路径(在 UNIX/Linux 等系统上,如果路径是以正斜线/开始的,则这个路径是绝对路径;在 Windows 等系统上,如果路径是从盘符开始的,则这个路径是绝对路径) |
String getParent() | 返回 File 对象对应目录的父目录(即返回的目录不包含最后一级子目录) |
boolean canRead() | 判断 File 对象对应的文件或目录是否可读,若可读则返回 ture,否则返回 false |
boolean canWtire() | 判断 File 对象对应的文件或目录是否可写,若可写则返回 ture,否则返回 false |
boolean isFile() | 判断 File 对象对应的文件(不是目录),若是文件则返回 ture,否则返回 false |
boolean isDirectory() | 判断 File 对象对应的目录(不是文件),若是目录则返回 ture,否则返回 false |
boolean isAbsolute() | 判断 File 对象对应的文件或目录是否是绝对路径 |
long lastModified() | 返回 1970 年 1 月 1 日 0 时 0 秒到文件最后修改时间的毫秒值 |
long length() | 返回文件内容的长度 |
String[] list() | 列出指定目录的全部内容,只是列出名称 |
File listFiles() | 返沪一个包含了 File 对象的所有子文件和子目录的 File 数组 |
2.1、
上表列出了 File 类的一系列常用方法,此表通过文件对 File 类的方法继续介绍,接下来通过一个案例来演示 File 类的常用方法。
首先,在当前目录下创建一个文件“example.txt”,并在文件中输入内容“itcast”,然后创建一个使用 File 常用方法的类,来查看文件的相应信息,如下所示。
import java.io.File;
public class example11 {
public static void main(String[] args) {
File file = new File("example.txt");
System.out.println("文件名称:" + file.getName());
System.out.println("文件的相对路径:" + file.getPath());
System.out.println("文件的绝对路径:" + file.getAbsolutePath());
System.out.println("文件的父路径:" + file.getParent());
System.out.println(file.canRead() ? "文件可读" : "文件不可读");
System.out.println(file.canWrite() ? "文件可写" : "文件不可写");
System.out.println(file.isFile() ? "是一个文件" : "不是一个文件");
System.out.println(file.isDirectory() ? "是一个目录" : "不是一个目录");
System.out.println(file.isAbsolute() ? "是绝对路径" : "不是一个绝对路径");
System.out.println("最后修改时间为:" + file.lastModified());
System.out.println("文件大小为:" + file.length() + "bytes");
System.out.println("是否成功删除文件" + file.delete());
}
}
运行结果如下所示。
调用 File 类的一系列方法,获取到文件的名称、相对路径、绝对路径、文件是否可读等信息,最后通过 delete()方法将文件删除。