【发布时间】:2014-04-03 10:56:39
【问题描述】:
我想使用适用于 Linux 和 windows 的 java 进行文件搜索,我能够为 windows 制作文件搜索程序,但我对 Linux 一无所知。我正在使用这个逻辑来显示窗口中的所有磁盘。
package test;
import java.io.File;
public class Test {
public static void main(String[] args) {
File[] drives = File.listRoots();
String temp = "";
for (int i = 0; i < drives.length; i++) {
temp += drives[i];
}
String[] dir = temp.split("\\\\");
for (int i = 0; i < dir.length; i++) {
System.out.println(dir[i]);
}
}
}
上面的代码在 windows 中使用时会显示所有的根,如 c:,d: 等,而在 Linux 中使用时只显示 /。我正在使用这个逻辑在 Windows 中搜索特定文件。
public void findFile(String name,File file)
{
File[] list = file.listFiles();
if(list!=null)
for (File fil : list)
{
if (fil.isDirectory())
{
findFile(name,fil);
}
else if (name.equalsIgnoreCase(fil.getName()))
{
System.out.println(fil.getParentFile());
}
}
}
它工作正常,但我的问题是如何在 Linux 中制作它,我是 Linux 新手,所以我不知道如何制作它,我的时间不多了,任何帮助都会对我很有帮助。
【问题讨论】:
-
您需要将代码指向主目录中的查找文件
-
使用 apache commons.io 库。
标签: java linux file jakarta-ee file-io