版权声明:本文为博主原创文章,未经博主允许不得转载。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();
}