黑马程序员技术交流社区
标题:
如何列出指定目录文件并进行过滤
[打印本页]
作者:
马林康
时间:
2012-7-18 14:58
标题:
如何列出指定目录文件并进行过滤
本帖最后由 马林康 于 2012-7-18 15:52 编辑
import java.io.File;
import java.io.FilenameFilter;
public class FileDemo {
public static void main(String[] args){
File f = new File("E:\\music");
showDir(f);
}
public static void showDir(File f){
File[] files = f.listFiles(new FilenameFilter(){
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".mp3");
}
});
for(File file:files){
if(file.isDirectory())
showDir(file);
else
System.out.println(file);
}
}
}
复制代码
这样貌似实现不了,请问怎么实现?
作者:
孙新强
时间:
2012-7-18 15:40
在这里 我建议不用匿名内部类 因为要遍历文件 使用匿名内部类 操作不方便
最好使用递归遍历
程序代码修改如下 :
import java.io.File;
public class FileDemo {
public static void main(String[] args){
File f = new File("E:\\music");
showDir(f);
}
public static void showDir(File f){
if (!f.exists()) { // 测试此抽象路径名表示的文件或目录是否存在
throw new RuntimeException("文件不存在,请重新输入!");
}
else if (f.isDirectory()){
File[] files = f.listFiles();
if (files != null){
for (File file : files){ // 对数组进行遍历
showDir(file);
}
}
}
else if (f.getName().endsWith(".mp3")) {
System.out.println(f);
}
}
}
作者:
马林康
时间:
2012-7-18 15:49
孙新强 发表于 2012-7-18 15:40
在这里 我建议不用匿名内部类 因为要遍历文件 使用匿名内部类 操作不方便
最好使用递归遍历
程序代码修改 ...
谢谢了~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2