有人可以帮我解决我的问题。我有一个函数,用于检查文件是否存在于特定路径中。该函数检查文件名是否匹配,路径是否匹配(具有特定名称的文件可能存在于多个位置)。请在下面找到我的代码。退货声明不起作用
memberPath是一个包含相对路径的静态变量。 file_Path是一个静态变量,当找到匹配项时它会被更新。
我的问题是该函数找到匹配,但它突然出现for循环返回语句,但回到for循环。有人可以帮助我修复我的代码,以便一旦找到匹配,它将返回到呼叫位置。
public static String traverse(String path, String filename) {
String filePath = null;
File root = new File(path);
File[] list = root.listFiles();
for (File f : list) {
if (f.isDirectory()) {
traverse(f.getAbsolutePath(), filename);
} else if (f.getName().equalsIgnoreCase(filename) && f.getAbsolutePath().endsWith(memberPath)) {
filePath = f.getAbsolutePath();
file_Path = filePath;
break ;
}
}
return filePath;
}
这就是递归。你期望会发生什么? – 2013-02-19 08:34:14
为什么不,而不是立即返回? – 2013-02-19 08:36:35
@RohitJain:但是你能告诉我应该添加什么,以便它返回到呼叫位置 – user1688404 2013-02-19 08:36:50