目前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
else if (path.isFile()) {
path.delete()
println(path + ": 文件被删除")
return
}
val file: Array[File] = path.listFiles()
for (d <- file) {
dirDel(d)
}
path.delete()
println(path + ": 目录被删除")
}
}
转载请注明原文地址: https://ju.6miu.com/read-17181.html