FileFilter接口
File对象存放的是文件的绝对地址
使用file.Getname方法可以只输出名称,而不输出路径
package com.qian;
import java.io.File;
import java.io.FileFilter;
import java.util.Date;
public class Demo18 {
public static void main(String[] args)throws Exception {
directoryOpe();
}
//(3)文件夹操作
public static void directoryOpe() throws Exception {
//1.创建文件夹
File dir=new File("r:\\aaa\\bbb\\ccc");
System.out.println(dir.toString());
if(!dir.exists()){
//dir.mkdir();//只能创建单级目录
System.out.println("创建的结果是"+dir.mkdirs());//创建多级目录
}
//2.删除文件夹
//2-1直接删除(注意只能空目录)
//只删除最底层的一个目录,即ccc目录,而且必须是空目录
// System.out.println("删除的结果是"+dir.delete());
//2-2使用jvm删除
dir.deleteOnExit();//只删除最底层的一个目录,而且必须是空目录
Thread.sleep(1000);
//3.获取文件夹信息
System.out.println("获取绝对路径"+dir.getAbsolutePath());
System.out.println("获取路径"+dir.getPath());
System.out.println("获取文件夹名称"+dir.getName());//最底层文件夹名称
System.out.println("获取父目录"+dir.getParent());
System.out.println("获取文件最近更新时间"+new Date(dir.lastModified()).toLocaleString());
//4.判断
System.out.println("是否是文件夹"+dir.isDirectory());
System.out.println("是否是隐藏的"+dir.isHidden());
//5.遍历文件夹
File dir2=new File("C:\\Users\\Administrator\\Pictures");
String[] files=dir2.list();
System.out.println("=============================");
for (String file : files) {
System.out.println(file);
}
System.out.println("----------FileFIlter接口的使用----------");
File[] files2=dir2.listFiles(new FileFilter() {//返回一个File数组
@Override//匿名内部类里面自带方法
public boolean accept(File pathname) {
if(pathname.getName().endsWith(".jpg")){//过滤后,只剩下.jpg后缀的文件
return true;
}
return false;
}
});
for (File file : files2) {//File对象数组 里面存的是file文件
System.out.println(file.getName());
}
}
}
e对象数组 里面存的是file文件
System.out.println(file.getName());
}
}
}