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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问如何用java在指定目录中 以及子目录 找出同名文件?相关的知识,希望对你有一定的参考价值。

举例来说 在C:\Program Files (x86)\Java\ 找出 所有名为java.exe的文件
哦 对
最後还得显示出是哪的文件

你好,很简单的代码,可以直接运行

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);




参考技术A 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());




参考技术B 通过java 代码实现

solidworks如何用同名零件替换

我做装配体时,零部件目录放错了,
单独把剪切到想要放置的目录时,
装配体中设计树上的零件变灰色了,
用替换零部件的办法显示不能用同名零件替换,
请问各位大侠,这个问题怎么解决啊?
等待中!

3个办法
1、改名称后,单击文件替换,浏览到文件位置单击替换,再保存。
2、你打开装配体后文件移动位置,你可以再指定文件位置,打开后保存
3、你打开装配体,如果没提示要指定文件位置,或你不想在重新指定,就单击N下取消,进入装配体后的零件丢失,你关闭装配体不要保存,在将移动过的文件移回原位,再打开装配体即可。
SW的各个版本,操作没太大的变化,只会越来越便捷,所以这操作跟版本无关,只是XP的操作,
再说细点吧,比如你想更改零件1为零件2,在装配体的设计树下单击零件1,(选中,指定要操作的零件)再单击窗口工具栏文件/替换,进入替换的界面,再根据提示操作指定替换为零件2的路径,并选择是替换全部还是单个,及配合是否保留,替换后可能配合会错误,先不管,你确定后在修改配合,大部分是面遗失,和配合重复。
参考技术A

先在软件里关闭装配体(不打开),在文件夹中将要被替换的文件加后缀区别或直接删除,再将正确的文件(同名)复制进来,再打开装配体就好了。

参考技术B 先在软件里关闭装配体(不打开),在文件夹中将要被替换的文件加后缀区别或直接删除,再将正确的文件(同名)复制进来,再打开装配体就好了。 参考技术C 如果发现放错目录的时候,你只要在装配体里把这个零件打开了,另存为到你想要的目录就可以了,<备份不要打勾>
如有问题,请加入SW讨论群82363069
参考技术D 额 先把 名字改掉 ,再替换
替换好了 保存,然后把零件另存为 原来的名字。再保存。就可以了

以上是关于请问如何用java在指定目录中 以及子目录 找出同名文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何用Delphi实现子目录级的文件查询

请问,如何用bat 删除指定目录下的大小超过100M的文件?比如删除D:\Templates下的超过100M的文件?

如何用bat打开本身目录下的文件?

关于请问如何用java生成一个指定长度的UUID

solidworks如何用同名零件替换

请问 如何用SQL快速清空Magento产品和产品目录?