Day36 Java的file类

发布于:2024-04-19 ⋅ 阅读:(35) ⋅ 点赞:(0)

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的获取功能

  1. 获取文件名和路径
    • getName():获取文件或目录的名称。
    • getPath():获取文件或目录的路径。
    • getAbsolutePath():获取文件或目录的绝对路径。
    • getParent():获取文件或目录的父目录路径。
  2. 判断文件类型和状态
    • isFile():判断是否为文件。
    • isDirectory():判断是否为目录。
    • exists():判断文件或目录是否存在。
    • canRead():判断是否可读。
    • canWrite():判断是否可写。
    • canExecute():判断是否可执行。
  3. 获取文件属性
    • length():获取文件的长度(字节数)。
    • lastModified():获取文件最后修改时间。
    • isHidden():判断文件是否隐藏。
  4. 获取目录内容
    • list():返回目录下的文件和目录名数组。
    • listFiles():返回目录下的文件和目录数组。
  5. 其他功能
    • toURI():返回文件或目录的URI。
    • toPath():返回文件或目录的Path对象。

File的删除功能

delete() 删除此抽象路径名表示的文件或目录。

File的常用方法

  1. 获取文件信息
    • getName():获取文件名。
    • getPath():获取文件路径。
    • isFile():判断是否为文件。
    • isDirectory():判断是否为目录。
    • exists():判断文件或目录是否存在。
    • length():获取文件长度(字节数)。
  2. 文件操作
    • createNewFile():创建新文件。
    • mkdir():创建新目录。
    • delete():删除文件或目录。
    • renameTo(File dest):重命名文件或目录。
  3. 目录遍历
    • 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.");
}