File 类

File:它是文件和目录路径名的抽象表示
  • 文件和目录是可以通过File封装成对象的
  • 对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的

image

演示:
File f1 = new File("E:\\Java\\java.txt");
System.out.println(f1);

File f2 = new File("E:\\Java","java.txt");
System.out.println(f2);

File f3 = new File("E:\\Java");
File f4 = new File(f3,"java.txt");
System.out.println(f4);

// 输出结果
E:\Java\java.txt
E:\Java\java.txt
E:\Java\java.txt

File类创建功能

image

演示:
// 需求1:在E:\\Java 目录下创建一个文件java.txt
File f1 = new File("E:\\Java\\java.txt");
System.out.println(f1.createNewFile());
// 需求2:在E:\\Java 目录下创建一个目录JavaSE
File f2 = new File("E:\\Java\\JavaSE");
System.out.println(f2.mkdir());
// 需求3:在E:\\Java 目录下创建一个多级目录JavaWeb\\HTML
File f3 = new File("E:\\Java\\JavaWeb\\HTML");
System.out.println(f1.mkdirs());

// 提示:
	如果相应的文件/目录不存在,则创建相应的文件/目录,并返回true
    如果相应的文件/目录存在,则不创建相应的文件/目录,并返回false

File类判断和获取功能

image

演示:
  • public boolean isDirectory()
// 创建File文件对象
File f = new File("myFile\\java.txt");
// 判断该对象是否是目录
System.out.println(f.isDirectory());

// 结果
false
  • public boolean isFile()
// 创建File文件对象
File f = new File("myFile\\java.txt");
// 判断该对象是否是文件
System.out.println(f.isFile());

// 结果
true
  • public boolean exists()
// 创建File文件对象
File f = new File("myFile\\java.txt");
// 判断该路径名表示的File是否存在
System.out.println(f.exists());

// 结果
true
  • public String getAbsolutePath()
// 创建File文件对象
File f = new File("myFile\\java.txt");
// 返回此抽象路径名的绝对路径名的字符串
System.out.println(f.getAbsolutePath());

// 结果
E:\IdeaProjects\JavaSE_Code\myFile\java.txt
  • public String getPath()
// 创建File文件对象
File f = new File("myFile\\java.txt");
// 返回此抽象路径名的字符串
System.out.println(f.getPath());

// 结果
myFile\java.txt
  • public String getName()
// 创建File文件对象
File f = new File("myFile\\java.txt");
// 返回此抽象路径名表示的文件或目录的名称
System.out.println(f.getName());

// 结果
java.txt
  • public String[] list()
// 创建File文件对象
File f = new File("E:\\Java");
// 返回此抽象路径名表示的目录中的文件和目录名称数组
String[] strArray = f.list();
for(String str : strArray){
    System.out.println(str);
}

// 结果
java.txt
JavaSE
javaWeb
  • public File[] listFiles()
// 创建File文件对象
File f = new File("E:\\Java");
// 返回此抽象路径名表示的目录中的文件和目录的File对象数组
File[] fileArray = f.listFiles();
for(String file : fileArray){
    System.out.println("文件\目录的绝对路径:"file+",文件\目录的名称:"+file.getName());
}

// 结果
文件\目录的绝对路径:E:\Java\java.txt,文件\目录的名称:java.txt
文件\目录的绝对路径:E:\Java\JavaSE,文件\目录的名称:JavaSE
文件\目录的绝对路径:E:\Java\javaWeb,文件\目录的名称:javaWeb

File类删除功能

image

演示:
// 创建文件对象
File f1 = new File("E:\\Java\\java.txt");
// 创建文件
System.out.println(f1.createNewFile());
// 删除文件
System.out.println(f1.delete());

// 提示:
	删除目录时,当目录为空时,可删除成功
        	当目录不为空时,删除失败,不可直接删除
绝对路径和相对路径的区别:
  • 绝对路径:完整的路径名,不需要任何其他信息就可以定位它所表示的文件。例如:E:\Java\java.txt
  • 相对路径:必须使用取自其他路径名的信息进行解释。例如:java.txt (在当前项目所在路径下的java.txt文件)
posted @ 2022-01-15 15:32  早晨9点  阅读(43)  评论(0)    收藏  举报