誰かが私の問題を解決するのを手伝ってくれますか? ファイルが特定のパスに存在するかどうかをチェックする関数があります。この関数は、ファイル名が一致し、パスも一致するかどうかをチェックします (特定の名前のファイルが複数の場所に存在する可能性があります)。私のコードの下に見つけてください。
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;
}