请编写代码遍历你电脑上某个文件夹下的一级子文件,并打印他们的绝对路径,如果是文件还需要打印文件名和文件大小
时间: 2024-10-12 13:11:23 浏览: 19
在Windows或Linux系统中,我们可以使用Java的`java.nio.file`包来遍历文件夹及其子文件,并获取相关信息。下面是一个简单的示例,假设我们想要遍历当前目录下的所有一级子文件:
```java
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
public class FolderTraversal {
public static void main(String[] args) {
Path rootPath = Paths.get("").toAbsolutePath(); // 获取根路径,通常是当前工作目录
try {
Files.walk(rootPath)
.filter(path -> !path.equals(rootPath)) // 避免遍历自身
.forEach(path -> {
if (Files.isDirectory(path)) { // 检查是否是目录
System.out.println("目录绝对路径: " + path.toAbsolutePath());
} else { // 文件
String fileName = path.getFileName().toString();
long fileSize = Files.size(path);
System.out.printf("文件名: %s, 文件大小: %d bytes%n", fileName, fileSize);
}
});
} catch (IOException e) {
System.err.println("读取文件夹信息时出错: " + e.getMessage());
}
}
}
```
这个程序会打印当前目录下所有一级子目录的绝对路径以及所有文件的文件名和大小。注意,由于权限限制,它可能会在某些操作系统上无法访问某些隐藏或受保护的文件。
阅读全文