可以使用递归函数来获取所有子目录,具体实现如下: ```java import java.io.File; public class RecursiveSubdirectories { public static void main(String[] args) { File root = new File("C:\\Users\\username\\Documents\\"); listSubdirectories(root); } public static void listSubdirectories(File dir) { File[] files = dir.listFiles(); if (files != null) { for (File file : files) { if (file.isDirectory()) { System.out.println("Directory: " + file.getAbsolutePath()); listSubdirectories(file); } } } } } ``` 在上面的代码中,我们首先定义了一个根目录 `root`,然后调用 `listSubdirectories` 函数来获取所有子目录。在 `listSubdirectories` 函数中,我们首先获取当前目录下的所有文件和子目录,然后遍历这些文件和子目录,如果是子目录则输出其路径并递归调用 `listSubdirectories` 函数来获取其子目录。