Scala中遍歷檔案、刪除檔案和目錄
阿新 • • 發佈:2019-01-25
目前Scala沒有“正式的”用來訪問某個目錄中的所有檔案,或者遞迴地遍歷所有目錄的類,可以藉助java的File類來實現檔案目錄的遍歷和檔案操作。
- import java.io.File
- /**
- * 20170309
- * 目錄操作
- */
- object dir {
- def main(args: Array[String]) {
- val path: File = new File("C:/Users/wei/ScalaWorkspace/learn0305")
- for (d <- subdirs(path))
- println(d)
- }
- //遍歷目錄
- def subdirs(dir: File): Iterator[File] = {
- val children = dir.listFiles.filter(_.isDirectory())
- children.toIterator ++ children.toIterator.flatMap(subdirs _)
- }
- //刪除目錄和檔案
- def dirDel(path: File) {
- if (!path.exists())
- return
- elseif (path.isFile()) {
- path.delete()
- println(path + ": 檔案被刪除")
- return
- }
- val file: Array[File] = path.listFiles()
- for (d <- file) {
- dirDel(d)
- }
- path.delete()
- println(path + ": 目錄被刪除")
- }
- }