Java 7 後建議使用 NIO2 API 處理目錄相關操作 新的 API 實作相對過去的方式有一些好處 1. 更好的效能 2. 能處理 symbolic link 等非實體存在的目錄、檔案 3. 搭配 Java 8 開始的 Stream API 能有更方便的寫法 寫法如下: Path zippedPath = Paths.get(file.getAbsolutePath()); try { Files.walkFileTree(walkedPath, new FileVisitor<Path>() { @Override public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException { return FileVisitResult.CONTINUE; } @Override public FileVisitResult postVisitDirectory(Path directory, IOException ioe) throws IOException { ...