标签:package ted 迅雷下载 学习 资源 over 合集 cep 匿名类
os :windows7 x64
jdk:jdk-8u131-windows-x64
ide:Eclipse Oxygen Release (4.7.0)
code:
package jizuiku0;
import java.io.File;
import java.io.FilenameFilter;
/*
* @version V17.09
*/
public class Filter {
public static void main(String[] args) {
// 找到E:\迅雷下载\下载合集中文件名以.xlsx结尾的文件
String pathname = "E:\\迅雷下载\\下载合集";
File file = new File(pathname);
// 因为这里只筛选文件的名字,所以使用FilenameFilter接口
// 使用匿名类
// filesName中都是符合条件的文件的名字
String[] filesName = file.list(new FilenameFilter() {
// 这个函数是用来判断的
@Override
public boolean accept(File dir, String name) {
// TODO Auto-generated method stub
// dir -> E:\迅雷下载\下载合集
// name -> dir下 文件夹和文件的名字
System.out.println(dir + "---" + name);
// 是文件 并且 文件名以.xlsx结尾
return new File(dir, name).isFile() && name.endsWith(".xlsx");
}
});// 这里的分号容易被忘记
System.out.println("\n以.xlsx结尾的文件:");
// 遍历
for (String name : filesName) {
System.out.println(name);
}
}
}
result:
sourceCode:
public String[] list(FilenameFilter filter) {
String names[] = list();
if ((names == null) || (filter == null)) {
return names;
}
List<String> v = new ArrayList<>();
for (int i = 0 ; i < names.length ; i++) {
if (filter.accept(this, names[i])) {
v.add(names[i]);
}
}
return v.toArray(new String[v.size()]);
}
通过查看源代码,可以更好了解指定函数的运行原理。
Java优秀,值得学习。
学习资源:itcast和itheima视频库。如果您有公开的资源,可以分享给我的话,用您的资源学习也可以。
博文是观看视频后,融入思考写成的。博文好,是老师讲得好。博文坏,是 给最苦 没认真。
JavaSE8基础 File FilenameFilter 筛选出指定后缀名的文件
标签:package ted 迅雷下载 学习 资源 over 合集 cep 匿名类
原文地址:http://www.cnblogs.com/jizuiku/p/7561655.html