.编写程序:将C:\Program Files\Java\jdk-15.0.1中的文件与文件夹的名称列举出来 并表名文件或目录 把所有的文件名称,放在一个列表集合( List_file)中。 把所有的目录名称,放在一个列表集合(List_directory)中。
时间: 2024-12-14 13:13:36 浏览: 10
为了编写一个这样的程序,你可以使用Java的File类和递归函数来遍历指定路径下的所有文件和目录。以下是简单的示例代码:
```java
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class FileScanner {
public static void main(String[] args) {
String path = "C:\\Program Files\\Java\\jdk-15.0.1";
List<String> listFiles = new ArrayList<>();
List<String> listDirectories = new ArrayList<>();
// 遍历指定路径
scanDirectory(path, listFiles, listDirectories);
System.out.println("文件列表: " + listFiles);
System.out.println("目录列表: " + listDirectories);
}
private static void scanDirectory(String dirPath, List<String> files, List<String> directories) {
File directory = new File(dirPath);
if (directory.isDirectory()) { // 如果是目录
directories.add(directory.getName());
File[] filesInDir = directory.listFiles();
if (filesInDir != null) {
for (File file : filesInDir) {
if (file.isFile()) { // 如果是文件
files.add(file.getName());
} else if (file.isDirectory()) { // 如果是子目录
scanDirectory(file.getAbsolutePath(), files, directories); // 递归扫描
}
}
}
} else { // 如果是文件
files.add(directory.getName());
}
}
}
```
这个程序会创建两个列表,`listFiles`用于存储文件名,`listDirectories`用于存储目录名。它首先检查给定的路径是否为目录,如果是,则添加到目录列表,并继续递归搜索其子目录。如果遇到的是文件,则将其添加到文件列表。
运行此程序后,你会看到在指定路径下列出的所有文件和目录名。
阅读全文