简单的JAVA程序
发布网友
发布时间:2022-04-21 18:19
我来回答
共2个回答
热心网友
时间:2023-07-18 19:17
呵呵,你看看是不是
else {
String name = file1.getAbsoluteFile().toString();
File file2 = new File(name);
String lis[] = file2.list();
for (int j=0; j<lis.length;j++) {
if (lis[j].indexOf("f") != -1) {
System.out.println(lis[j]);
}
}
}这里的问题啊?多了一个for循环啊,呵呵。所以只要该目录底下有含有“f”的文件就会被输出n次(n为该目录底下所有文件数)应该改为:
import java.io.File;
import java.lang.String;
class TestEx {
public static void main(String args[]) {
File fl = new File("");
String path = fl.getAbsoluteFile().toString();
redo(path);
}
public static void redo(String path) {
try {
File file1 = new File(path);
File list[] = file1.listFiles();
for (int i = 0; i < list.length; i++) {
if (list[i].isDirectory()) {
System.out.println(list[i]);
redo(list[i].getAbsolutePath());
} else {
String name = file1.getAbsoluteFile().toString();
File file2 = new File(name);
String lis[] = file2.list();
if (lis[i].indexOf("f") != -1) {
System.out.println(lis[i]);
}
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
热心网友
时间:2023-07-18 19:17
1我测试了啊,没错啊
输出结果如下
E:\workspace\Test\.settings
org.eclipse.core.resources.prefs