scala的FileUtils , 遍历文件夹 , 对文件操作

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:_*))
  }

/*
 * 其他方法 慢慢补充
 *
*/


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aaron+_+

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值