scala的FileUtils , 遍历文件夹 , 对文件操作
scala中没有像Java一样可以访问目录下所有文件的操作,需要导入java的File类,进行操作
重新写了写 , 把获取所有文件和获取定后缀文件写到一起了 , 现在只写了一个遍历文件夹 , 其他的方法慢慢再补充
import java.io.{File, FileFilter}
/**
* File工具类
*/
object FileUtils {
/**
* 从scala2.13换成2.11版本 , 结果之前写的报错了
* 没办法只好写匿名内部类了
* 过滤出获取目录及子目录下所有文件或指定后缀的文件
* @param path 要访问的文件夹
* @param ext 指定文件后缀 , 可选 , 不传获取所有文件
* @return 返回符合要求的File的List集合
*/
def getFile(path: File,ext :String*) :List[File]= {
path.listFiles(new FileFilter {
override def accept(file: File): Boolean = {
for (s <- ext) if (file.getName.toLowerCase.endsWith(s.toLowerCase)) return true; false
}}).toList ++
path.listFiles(new FileFilter {
override def accept(file: File): Boolean = file.isDirectory
}).flatMap(getFile(_,ext:_*))
}
/*
* 其他方法 慢慢补充
*
*/
}