Java编写 键盘录入一个文件夹路径和一个文件名,当前目录(包含子目录)下是否有该文件,有则返回该文件的绝对路径,没有则返回null。
时间: 2024-01-14 14:02:26 浏览: 121
好的,这里是 Java 代码实现:
```java
import java.io.File;
import java.util.Scanner;
public class FindFileDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入文件夹路径:");
String path = sc.nextLine();
System.out.print("请输入文件名:");
String fileName = sc.nextLine();
File folder = new File(path);
if (!folder.exists()) {
System.out.println("输入路径不存在!");
return;
}
String result = findFile(folder, fileName);
if (result == null) {
System.out.println("未找到文件!");
} else {
System.out.println("文件路径:" + result);
}
}
public static String findFile(File folder, String fileName) {
File[] files = folder.listFiles();
if (files == null || files.length == 0) return null;
for (File file : files) {
if (file.isDirectory()) {
String result = findFile(file, fileName); // 递归查找子文件夹中的文件
if (result != null) return result;
} else {
if (file.getName().equals(fileName)) {
return file.getAbsolutePath();
}
}
}
return null;
}
}
```
这个程序使用了 Java 中的 `File` 类,可以递归遍历文件夹中的所有子文件夹和文件,查找指定的文件名。如果找到了该文件,则返回该文件的绝对路径,否则返回 `null`。
需要注意的是,这段代码只是一个简单的实现,没有考虑异常情况,比如输入的路径不存在,或者遍历过程中某个文件或文件夹无法访问等情况。在实际应用中需要根据具体情况进行处理。
阅读全文