
请问如何用java在指定目录中 以及子目录 找出同名文件?
举例来说在C:\ProgramFiles(x86)\Java\找出所有名为java.exe的文件哦对最後还得显示出是哪的文件...
举例来说 在C:\Program Files (x86)\Java\ 找出 所有名为java.exe的文件
哦 对
最後还得显示出是哪的文件 展开
哦 对
最後还得显示出是哪的文件 展开
3个回答
展开全部
你好,很简单的代码,可以直接运行
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<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);
}
}
}
}
}
展开全部
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());
}
}
}
}
}
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 代码实现
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询