请问如何用java在指定目录中 以及子目录 找出同名文件?

举例来说在C:\ProgramFiles(x86)\Java\找出所有名为java.exe的文件哦对最後还得显示出是哪的文件... 举例来说 在C:\Program Files (x86)\Java\ 找出 所有名为java.exe的文件
哦 对
最後还得显示出是哪的文件
展开
 我来答
lylegend13
2011-11-18 · TA获得超过4696个赞
知道大有可为答主
回答量:1701
采纳率:0%
帮助的人:1764万
展开全部
你好,很简单的代码,可以直接运行

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class test2 {

static List<File> list = new ArrayList<File>();// 存储目标文件

public static void main(String[] args) {
File root = new File("C:\\Program Files\\Java");
findFile(root, "java.exe");
}

public static void findFile(File root, String name) {
if (root.exists() && root.isDirectory()) {
for (File file : root.listFiles()) {
if (file.isFile() && file.getName().equals(name)) {// 如果是文件,而且同名
list.add(file);
} else if (file.isDirectory()) {// 如果是目录,则继续递归遍历
findFile(file, name);
}
}
}
}
}
追问
如果要用輸出文件名呢?
追答
你好,你看下面的代码,我修改了一句,并给了注释

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class test2 {

static List list = new ArrayList();

public static void main(String[] args) {
File root = new File("C:\\Program Files\\Java");
findFile(root, "java.exe");
}

public static void findFile(File root, String name) {
if (root.exists() && root.isDirectory()) {
for (File file : root.listFiles()) {
if (file.isFile() && file.getName().equals(name)) {
System.out.println(file.getName());//这里输出文件名!
} else if (file.isDirectory()) {
findFile(file, name);
}
}
}
}
}
抽雪茄的大兵
2011-11-18
知道答主
回答量:27
采纳率:100%
帮助的人:34.3万
展开全部
package test;

import java.io.File;
import java.util.LinkedList;

public class FileSystem {
public static void main(String[] args) {
FileSystem a = new FileSystem();
File file = new File("F:\\·L资料\\教程\\js");
a.queryFile(file);
}

public void queryFile(File file){
LinkedList list = new LinkedList();
File dir = file;
File files[] = dir.listFiles();
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()){
queryFile(files[i]);
}else{
if("java.exe".equals(files[i].getName())){
System.out.println(files[i].getAbsolutePath());
}
}
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-11-18
展开全部
通过java 代码实现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式