Day36 Java的file类
文章目录
概念
在Java中,File
类代表文件或目录的抽象路径名,它并不直接处理文件的内容,而是用于获取文件的属性、路径等信息,以及创建、删除、重命名文件或目录。File
类提供了一系列方法来操作文件系统中的文件和目录
理解: File是文件和目录路径名的抽象表示
File类的对象可以表示文件:C:\Users\何小宝\Desktop\hhy.txt
File类的对象可以表示目录路径名:C:\Users\何小宝\Desktop
注意:File只关注文件本身的信息,而不能操作文件里面的内容
File类 – 表示文件或文件夹,不能对文件里的数据进行操作
对文件里的数据进行操作的是:IO
File的创建(文件或目录)
可以通过File
类的构造函数来创建文件对象,可以传入文件路径、文件名等参数。
File file = new File("example.txt");
boolean |
createNewFile() 当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。 |
---|---|
boolean |
mkdir() 创建此抽象路径名指定的目录。`` |
boolean |
mkdirs() 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。 `` |
File的重命名
File的判断功能
boolean |
isDirectory() 测试此抽象路径名表示的文件是否是一个目录。 |
---|---|
boolean |
isFile() 测试此抽象路径名表示的文件是否是一个标准文件。 |
boolean |
isHidden() 测试此抽象路径名指定的文件是否是一个隐藏文件。 |
boolean |
canRead() 测试应用程序是否可以读取此抽象路径名表示的文件。 |
boolean |
canWrite() 测试应用程序是否可以修改此抽象路径名表示的文件。 |
File的获取功能
- 获取文件名和路径:
getName()
:获取文件或目录的名称。getPath()
:获取文件或目录的路径。getAbsolutePath()
:获取文件或目录的绝对路径。getParent()
:获取文件或目录的父目录路径。
- 判断文件类型和状态:
isFile()
:判断是否为文件。isDirectory()
:判断是否为目录。exists()
:判断文件或目录是否存在。canRead()
:判断是否可读。canWrite()
:判断是否可写。canExecute()
:判断是否可执行。
- 获取文件属性:
length()
:获取文件的长度(字节数)。lastModified()
:获取文件最后修改时间。isHidden()
:判断文件是否隐藏。
- 获取目录内容:
list()
:返回目录下的文件和目录名数组。listFiles()
:返回目录下的文件和目录数组。
- 其他功能:
toURI()
:返回文件或目录的URI。toPath()
:返回文件或目录的Path
对象。
File的删除功能
delete() 删除此抽象路径名表示的文件或目录。
File的常用方法
- 获取文件信息:
getName()
:获取文件名。getPath()
:获取文件路径。isFile()
:判断是否为文件。isDirectory()
:判断是否为目录。exists()
:判断文件或目录是否存在。length()
:获取文件长度(字节数)。
- 文件操作:
createNewFile()
:创建新文件。mkdir()
:创建新目录。delete()
:删除文件或目录。renameTo(File dest)
:重命名文件或目录。
- 目录遍历:
list()
:返回目录下的文件和目录名数组。listFiles()
:返回目录下的文件和目录数组。
相对路径 和 绝对路径
绝对路径:从根目录开始的完整路径,包含了文件系统中该文件或目录
所在的完整路径,通常以根目录符号(如Linux中的“/”,Windows中的“C:\”)开始
相对路径:相对于当前项目下的路径
public static void main(String[] args) {
File file = new File("file.txt");//使用的是相对路径
System.out.println(file.length());
//E:\fy2401workspace\Day33\file.txt
System.out.println("绝对路径:" + file.getAbsolutePath());
//file.txt
System.out.println("相对路径:" + file.getPath());
}
示例
File file = new File("example.txt");
// 获取文件信息
System.out.println("File name: " + file.getName());
System.out.println("File path: " + file.getPath());
System.out.println("Is a file: " + file.isFile());
System.out.println("Is a directory: " + file.isDirectory());
System.out.println("File exists: " + file.exists());
System.out.println("File length: " + file.length());
// 创建新文件
try {
if (file.createNewFile()) {
System.out.println("File created successfully.");
} else {
System.out.println("File already exists.");
}
} catch (IOException e) {
e.printStackTrace();
}
// 删除文件
if (file.delete()) {
System.out.println("File deleted successfully.");
} else {
System.out.println("Failed to delete file.");
}