在Java中递归搜索目录

bluesky1年前 ⋅ 132 阅读

ChatGPT的回答仅作参考:

在Java中,可以使用递归来搜索目录。下面是一个示例代码:

```java
import java.io.File;

public class DirectorySearch {
    public static void main(String[] args) {
        String directoryPath = "C:/path/to/directory";
        File directory = new File(directoryPath);
        
        searchDirectory(directory);
    }
    
    public static void searchDirectory(File directory) {
        if (directory.isDirectory()) {
            File[] files = directory.listFiles();
            if (files != null) {
                for (File file : files) {
                    if (file.isDirectory()) {
                        searchDirectory(file); // 递归调用
                    } else {
                        System.out.println(file.getAbsolutePath());
                    }
                }
            }
        }
    }
}
```

在上面的示例中,首先指定要搜索的目录路径,然后创建一个`File`对象表示该目录。然后调用`searchDirectory`方法来搜索目录。该方法首先检查传入的`File`对象是否表示一个目录,如果是,则获取目录中的所有文件和子目录。然后遍历这些文件和子目录,如果是目录,则递归调用`searchDirectory`方法来搜索该子目录;如果是文件,则打印文件的绝对路径。这样就可以递归搜索整个目录及其子目录中的所有文件。

全部评论: 0

    相关推荐