怎么搜索出特定目录下的所有的指定的某种类型的文件?

Kylix_XP 2004-10-12 10:18:50
有一个目录c:\com\bflink,现在要搜索出这个目录及其子目录下所有的.class类型的文件.
...全文
342 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
whyandwhat 2004-10-13
  • 打赏
  • 举报
回复
楼上的,写出你的源码来。
zj_ok 2004-10-12
  • 打赏
  • 举报
回复
递归取出所有文件,比较后缀名就行了
jinsfree 2004-10-12
  • 打赏
  • 举报
回复
public void listFiles(String path, String type) {//"d:/java","class"
File f = new File(path);
File[] fls = f.listFiles();
for (int i = 0; i < fls.length; i++) {
if (fls[i].getName().endsWith("."+type)) {
System.out.println(fls[i].getName());
}
}
}
射天狼 2004-10-12
  • 打赏
  • 举报
回复
这是文件及目录操作的一个例子,如果要处理子目录需要递归,你自己处理一下吧.
具体请查JAVA的DOC帮助文档!!
youthy_yy 2004-10-12
  • 打赏
  • 举报
回复
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.io.*"%>

File f=new File("D:/yourpath");
File[] file=f.listFiles();
for(int j=0;j<file.length;j++){
if(file[j].getName().endsWith(".class")==false){
......

}
.....
}
射天狼 2004-10-12
  • 打赏
  • 举报
回复
//取得指定目录下的所有目录及文件,并且返回最近访问过的文件或者目录
private void getNewFile(String aStrPath)
{
File fle = new File(aStrPath);
File[] fleList;
String strTmp = null;
String strFile = null;
SimpleDateFormat fmtDate = new SimpleDateFormat("yyyy/MM/dd");
java.util.Date fleDate = new java.util.Date();
long lngFleDate = 0;
long lngFleDateOld = 0;
long lngCurDate = new java.util.Date().getTime();
long lngStep = 0;

if (fle.exists())
{
fleList = fle.listFiles();
lngFleDate = fleList[0].lastModified();
lngFleDateOld = lngFleDate;
lngStep = lngCurDate - lngFleDateOld;
for (int i = 1; i < fleList.length; i++)
{
lngFleDate = fleList[i].lastModified();
fleDate.setTime(lngFleDate);
strTmp =
fleList[i].getName().toString()
+ " : "
+ fmtDate.format(fleDate);
if (lngCurDate - lngFleDate < lngStep)
{
strFile = fleList[i].getName().toString();
lngFleDateOld = lngFleDate;
lngStep = lngCurDate - lngFleDate;
}

System.out.println(
(fleList[i].isFile() ? "文件: " : "目录: ") + strTmp);
//lst.add((fleList [i].isFile() ? "文件: " : "目录: ") + strTmp);
}
}
System.out.println("=========================");
fleDate.setTime(lngFleDateOld);
System.out.println(
"最近访问的文件: " + strFile + " : " + fmtDate.format(fleDate));
}
jinsfree 2004-10-12
  • 打赏
  • 举报
回复
是在不行自己写方法了
wangjm02 2004-10-12
  • 打赏
  • 举报
回复
File类的list(FilenameFilter filter)方法

62,612

社区成员

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

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