Java 中操作文件系統是基礎技能。常見需求包括:遞歸遍歷所有磁盤根目錄尋找特徵文件、將指定資料夾下所有文件複製到目標目錄、列出指定目錄下所有文件名稱。以下提供標準實現方案。
File.listRoots() 獲取所有磁盤根路徑File.walkFileTree() (NIO.2) 或遞歸 listFiles() 遍歷目錄樹Files.copy() 實現文件/目錄複製(支援覆蓋、屬性保留)完整代碼示例請見:Java 文件操作大全
// 遍歷磁盤查找文件
File[] roots = File.listRoots();
for (File root : roots) {
findFile(root, "target.txt");
}
// 複製目錄 (Java 7+)
Files.walkFileTree(srcPath, new SimpleFileVisitor<Path>() {
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
Files.copy(file, targetPath.resolve(srcPath.relativize(file)), StandardCopyOption.REPLACE_EXISTING);
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
Files.createDirectories(targetPath.resolve(srcPath.relativize(dir)));
return FileVisitResult.CONTINUE;
}
});