如:
d:\file\file.ini
d:\file\file1\file.ini
d:\file\file2\file.ini
d:\file\file3\file.ini
d盘下面有3个文件夹,和一个文件,现在需要从d:\file目录开始获取下面所有file.ini文件
请问有谁做过没有啊。
------解决方案--------------------
首选实例化File: File file = new File("d:\\file");
然后获取它所有的子元素.file.listFiles()!
判断是否是目录? isDirectory, 是目录就继续找, 不是目录就判断是不是file.ini
可以用递归弄一下
------解决方案--------------------
用FileFilter
------解决方案--------------------
------解决方案--------------------
import java.io.File;
import java.io.FileFilter;
public class SearchFile {
private static final class OnlyFile implements FileFilter {
public boolean accept(File pathname) {
if (pathname.isFile()) {
return true;
} else {
return false;
}
}
}
public static void main(String[] args) {
if (args.length != 2) {
System.out.println("使用说明:请输入java SearchFile 目录 文件名");
} else {
File file = new File(args[0]);
File[] files = file.listFiles(new OnlyFile());
for (File f : files) {
if (f.getName().contains(args[1])) {
System.out.println(f.getPath());
}
}
}
}
}
------解决方案--------------------
import java.io.File;
import java.io.FileFilter;
public class test {
public static void printDirect(File root)
{
if(root.getName() == "file.ini")
System.out.println(root);
File subroots[]=root.listFiles(new FileFilter()
{
public boolean accept(File pathname)
{
return pathname.isFile();
}
});
if(subroots!=null){
for(int i=0;i<subroots.length;i++){
printDirect(subroots[i]);
}
}
}
public static void main(String[] args) throws Exception {
printDirect(new File("c:"));
}
}
------解决方案--------------------
都答完了,我就不参合了
------解决方案--------------------
其实自己写个递归查询的方法就行啦、