File
删除目录(可以删除目录,但是只可以删除空目录)
-----delete()
访问一个目录中的子项
-----File[ ] listFiles()
-----File[ ] listFiles(FileFilter)
File file = new File(String pathname);//匿名内部类创建过滤器FileFilter filter =new FileFilter(){ public boolean accept(File file){ return file.getName().startsWith(.); }};//File[] files =file.listFiles(new FileFilter(){ public boolean accept(File file){ return file.getName().contains("o"); }});
目录是否存在
-----boolean exists()
是否为文件(各种后缀名)
-----boolean isFile()
是否为目录(文件夹--可以各种文件)
-----boolean isDirectory()
Lambda
JDK8之后java支持了lambda表达式这个特性
lambda可以用更精简的代码创建匿名内部类.但是该 匿名内部类实现的接口只能有一个抽象方法,否则无法 使用!
lambda表达式是编译器认可的,最终会将其改为内部 类编译到class文件中
语法:
(参数列表)-> {
方法体
}
//1.匿名内部类创建FileFilterFilefilter filter1 =new Filefilter(){ public boolean accept(File file){ return file.getName().startsWith("."); } };//2.lambda FileFilter filter2 = (File file)->{ return file.getName().startsWith(".");};//3.lambda表达式中参数的类型可以忽略不FileFilter filter3 = (file)->{ return file.getName().startsWith(".");};//4.限定条件:1.lambda表达式方法体中若只有一句代码, 则{}可以省略 //2.如果这句话有return关键字,那么 return也要一并省略 FileFilter filter4 = file ->file.getName().contains("o");