计算特定名称

时间:2018-01-04 11:14:36

标签: scala

我有一个目录“/ usr / local / mod_in /”,其中包含许多文件:

03_abc.csv
03_bcd.csv
ela.csv
ghi.csv

我需要在名称以03_开头的目录中计算文件数。在这种情况下,count应为2。

我尝试过这种方法,但它不起作用:

val cntSales= Files.list(Paths.get(parentDir+"/03_*")).count()

任何人都可以帮助我吗

2 个答案:

答案 0 :(得分:0)

这是一个处理边缘条件和错误情况的衬垫:

Option(new java.io.File("your/directory/path/here").list).map(_.count(_.startsWith("03_"))).getOrElse(0)

答案 1 :(得分:0)

使用listFiles的java文件API并使用scala std lib中的count

scala> new File("/").listFiles.count(f => f.isFile && f.getName.startsWith("."))
res6: Int = 3

在你的情况下

new File(complete_path_here).listFiles.count(f => f.isFile && f.getName == file_name_to_match)

注意:文件扩展名也是文件名

的一部分