JAVA基础之文件(File)

版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/qq_37757008/article/details/81408567 https://blog.csdn.net/qq_37757008/article/details/84138596

File类

  • 构造:
    public class File
    extends Object
    implements Serializable, Comparable
    File类就是文件和目录路径名的抽象表示形式。
    通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例,也就是说她可以封装文件或目录,将文件变为一个可操作对象;用这个我们可以获取它的路径或者看文件大小等一系列操作;

比如我们可以封装一个任意类型的文件
File file = new File(“E:\mm.mp3”);
我们将一个E:p盘下的mm.mp3封装起来,封装为对象file,然后对他进行操作;
File file = new File(“D:\IObit”)
或者封装一个文件夹;
我们将它封装起来了,下面我们来看看File有什么好用的方法让我们对他进行操作;
在这里插入图片描述
上面是一些对文件的增删,重命名等基本操作,下面我们来看看一些更常用的高级操作;
在这里插入图片描述

  • 综合应用
    上面我们说了那么多的操作,那我们组合起来就可以完成一些特定的功能,比如筛选特定文件,批量删除文件,批量修改文件名;

  • 筛选特定文件

public static void main(String[] args) {
        //封装此目录
        File file = new File("C:\...\博客元素");
        //获取此目录下所有的文件和文件夹
        File[] files = file.listFiles();
        //遍历数组进行判断
        for (File file1 : files) {
            if(file1.isFile()&&file1.getName().endsWith(".png")){
                System.out.println(file1.getName());
            }
        }
    }

我们需求是获取 C:…\博客元素 路径下所有的png文件;
在这里插入图片描述

  • 批量删除多级文件
public static void main(String[] args) {
        //删掉文件夹
        File file = new File("E:\\testUploadImage");
        deleteFolder(file);
    }

    //递归删除多级文件夹
    private static void deleteFolder(File file) {
        File[] files = file.listFiles();
        for (File f : files) {
            if (f.isFile()) {
                //如果是文件就直接删除
                f.delete();
            } else {
                //如果是文件夹就递归调用
                deleteFolder(f);
            }
        }
        //删除空目录
        file.delete();
    }

猜你喜欢

转载自blog.csdn.net/qq_37757008/article/details/84138596