Java学习day09--File类

File类

java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。

File类的构造方法

注意:构造方法构造的File类可能是文件或者目录的实例化File对象。也可以用相对路径创建File对象,相对路径的基准是项目路径。

  1. public File(String pathname) :通过将给定的字符串路径名创建File实例。该pathname不一定存在于本地文件中,后期可根据相关手段来判断该文件是否存在。示例代码:
File file = new File("D:/dd/test.txt");
  1. public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例。
File file = new File("D:/dd", "test.txt");
  1. public File(File parent, String child) :从父抽象路径名和子路径名字符串创建新的 File实例。
File file = new File("D:/dd");
File file2 = new File(file, "test.txt");

File实例化对象的常用方法–获取路径名、文件名、字节数

  1. public String getAbsolutePath() :返回此File的绝对路径名字符串。
  2. public String getPath() :返回文件路径,该路径为构造器里面传递的路径。
  3. public String getName() :返回由此File表示的文件或目录的名称。也就是绝对路径下最后一个“/”后面的名字。
  4. public long length() :返回由此File表示的文件的长度。单位是字节。
  5. public String getParent(): 返回此FILE表示的文件的父级目录。

判断方法

  1. public boolean exists() :此File表示的文件或目录是否实际存在。
  2. public boolean isDirectory() :此File表示的是否为目录。
  3. public boolean isFile() :此File表示的是否为文件。

创建和删除的方法

  1. public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。如果文件名存在,则不会创建并返回false。
  2. public boolean delete() :删除由此File表示的文件或目录。注意删除目录时,目录里面必须没有文件才能删除,并且可递归删除多层空目录。
  3. public boolean mkdir() :创建由此File表示的目录。只能创建单层目录。
  4. public boolean mkdirs() :创建由此File表示的目录,包括任何必需但不存在的父目录。即创建多层目录。

目录的遍历

  1. public String[] list() :返回一个String数组,表示该File目录中的所有子文件或目录。
  2. public File[] listFiles() :返回一个File数组,表示该File目录中的所有的子文件或目录。
    注意:该方法的返回值在以下3种情况下可能为null
    a) 调用对象是文件
    b)调用对象在磁盘中不存在
    c)调用对象是一个系统目录

综合实例–通过递归删除某个目录

import java.io.File;

public class Demo {
    public static void main(String[] args) {
    // name可以换成你想要删除的目录的绝对路径
    	String name = "C:\\Users\\17634\\Desktop\\抖音文案 - 副本"
        File file = new File(name);
        delDir(file);             
    }
    
// 该方法的思想是递归删除所有文件,最后将空目录删除。
    public static void delDir(File file) {
        File[] files = file.listFiles();
        if (files != null) {
            for (File f : files) {
                if (f.isFile()) {
                    f.delete();
                }else if (f.isDirectory()){
                    delDir(f);
                }
            }
            file.delete();
        }else {
            System.out.println("无法进入系统路径...");
        }
    }
}

这样就可以清空某个目录了,但是系统目录是删不了的。小伙伴们千万不要把name设置为"C:/“或者"D:/”,不然后果很严重的,程序删除是不走回收站的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值