File类也许用的到

zxcdsoftware 2012-03-28 07:29:21
有一个文件夹,里面有许多种类型的文件,如何获取某一种类型的所有文件,如何做?要用到什么方法?
使用java代码实现。
...全文
161 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hdh1188 2012-03-30
  • 打赏
  • 举报
回复
listFile(new FileFilter(){
public boolean(){
实现你想要的的文件还是目录;
}
});
for(File file:files){
迭代实现文件的读取
}
安特矮油 2012-03-29
  • 打赏
  • 举报
回复

public static void main(String[] args) {
for(File f : getFiles("D:\\workspace")){
System.out.println(f.getAbsolutePath());
}
}

public static List<File> getFiles(String path){
List<File> files = new ArrayList<File>();
File file = new File(path);
getAllFiles(file, files);
return files;
}

private static void getAllFiles(File file, List<File> files){
if(file.isFile()){
if(file.getName().endsWith(".java"))
files.add(file);
}else{
File[] fs = file.listFiles();
for(File f : fs){
getAllFiles(f, files);
}
}
}
菖蒲老先生 2012-03-29
  • 打赏
  • 举报
回复
一般用2楼的方法,这问题好像早上见到有人问的。
jake512 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
可以把所有的文件名都获取到,然后判断扩展名。
File fs[] = f.listFiles();
[/Quote]
这个方法简洁明了。++
爱摸鱼de老邪 2012-03-28
  • 打赏
  • 举报
回复
File[] listFiles(FileFilter filter)
API说明:
返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。除了返回数组中的路径名必须满足过滤器外,此方法的行为与 listFiles() 方法相同。如果给定 filter 为 null,则接受所有路径名。否则,当且仅当在路径名上调用过滤器的 FileFilter.accept(java.io.File) 方法返回 true 时,该路径名才满足过滤器。

这种问题楼主应该先翻翻API说明文档。
MiceRice 2012-03-28
  • 打赏
  • 举报
回复
可以在选择时直接过滤:

File dir = new File("C:\\");
File[] fs = dir.listFiles(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(".sys"); // 符合要求就返回true
}
});
for (File file : fs) {
System.out.println(file);
}
xiongyu2006 2012-03-28
  • 打赏
  • 举报
回复
可以把所有的文件名都获取到,然后判断扩展名。
File fs[] = f.listFiles();

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧