首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java 文件操作三部曲:遍歷磁盤、複製資料夾、列出文件名

     編輯:程式設計綜合問答

Java 中操作文件系統是基礎技能。常見需求包括:遞歸遍歷所有磁盤根目錄尋找特徵文件、將指定資料夾下所有文件複製到目標目錄、列出指定目錄下所有文件名稱。以下提供標準實現方案。

核心 API

  • 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;
    }
});

注意事項

  • 遍歷全盤需管理員權限,耗時較長,建議限制搜索深度或指定目錄
  • 複製時處理符號鏈接、權限不足、目標已存在等異常
  • 大量文件操作建議使用線程池異步執行,避免阻塞主線程
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved