/*
这是我们的第二种方法。
1:先获取所有的,然后变量的时候,依次判断,如果满足条件就输出。
2:获取的时候就已经是满足条件的了,然后输出即可
要像实现这个效果,就必须学习一个接口:文件名称过滤器
public String[] list(FilenameFilter filter)
public File[] listFiles(FilenameFilter filter)
*/
import java.io.File;
import java.io.FilenameFilter;
public class Test {
public static void main(String[] args) {
//封装E盘目录
File file=new File("e:\\");
//获取该目录下的所有文件或者文件夹的String数组
//public String[] list(FilenameFilter filter),new它,直接出方法
String[] strArray =file.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
//return false;
//return true;
//通过这个测试,我们就知道了,到底把这个文件夹的名称加不加到数组中,取决于返回值是true还是false
//所有,这个true或者false应该是我们通过某种判断得到的。
/*
File file=new File(dir,name);
boolean flag=file.isFile();
boolean flag2=name.endsWith(".jpg");
return flag && flag2;//如果是文件,且以.jpg结尾就返回true
将这段代码总结起来就是
*/
return new File(dir,name).isFile() &&name.endsWith(".jpg");
}
});
//遍历
for(String s:strArray){
System.out.println(s);
}
}
}
该目录,该目录
只是改进,也是只能找到该目录下的文件名称,该目录下的文件夹里的文件是找不到的。
19.31这个批量修改三国演义的没写了,直接下一章