课程内容:
-
特等优先级方法
特等优先级方法
static listRoots() : 列出当前计算机的所有根目录,返回File[]标签:fs,file,day08,listFiles,File,m2,new,dir From: https://www.cnblogs.com/zhaodenghui33/p/18246952
*: File[] rts = File.listRoots();
list() : 列出一个目录当中所有的[文件名字],返回String[]
*: File dir = new File(".");
String[] name = dir.list();
listFiles() : 列出一个目录当中所有的[文件对象],返回File[]
*: File dir = new File(".");
File[] fs = dir.listFiles();
*: 文件属性过滤器
implements FileFilter
@Override
puiblic boolean accept(File file){
return ... ;
}
*: 死循环new对象 会占满你的堆内存, 死循环调用方法 会占满你的栈内存。
代码实现一:
public class TestFilter{
public static void main(String[]args){
File dir = new File("C:\\Windows\\System32");
File[] fs = dir.listFiles(new MyFileFilter());
System.out.println(fs.length);
}
}
class MyFileFilter implements FileFilter{
@Override
public boolean accept(File file){
return file.isFile() && file.getName().toLowerCase().endsWith(".exe");
}
}
代码实现二:
File dir = new File("C:\\Windows\\System32");
File[] fs = dir.listFiles(new FileFilter(){
@Override
public boolean accept(File file){
return file.isFile() && file.getName().toLowerCase().endsWith(".exe");
}
});
System.out.println(fs.length);
代码实现三:
File dir = new File("C:\\Windows\\System32");
File[] fs = dir.listFiles((x)->x.isFile() && x.getName().toLowerCase().endsWith(".exe"));
System.out.println(fs.length);