Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用scala获取文件和目录计数_Java_Scala - Fatal编程技术网

Java 使用scala获取文件和目录计数

Java 使用scala获取文件和目录计数,java,scala,Java,Scala,我正在尝试使用scala分区方法获取我的D:/work文件夹中的文件和目录计数,但我得到了错误 import java.io._ val fd = (new File("D:/work/")).listFiles scala> fd.partition ( x => {case x.isFile() => "FILE"; case x.isDirectory() => "DIR" } ) <console>:28: error: missing para

我正在尝试使用scala分区方法获取我的
D:/work
文件夹中的文件和目录计数,但我得到了错误

import java.io._

val fd = (new File("D:/work/")).listFiles

scala> fd.partition ( x => {case x.isFile() => "FILE"; case x.isDirectory() => "DIR" } )

<console>:28: error: missing parameter type for expanded function
The argument types of an anonymous function must be fully known. (SLS 8.5)
Expected type was: Boolean
       fd.partition ( x => {case x.isFile() => "FILE"; case x.isDirectory() => "DIR" } )
                           ^
<console>:28: error: method isFile is not a case class, nor does it have an unapply/unapplySeq member
       fd.partition ( x => {case x.isFile() => "FILE"; case x.isDirectory() => "DIR" } )
                             ^
<console>:28: error: method isDirectory is not a case class, nor does it have an unapply/unapplySeq member
       fd.partition ( x => {case x.isFile() => "FILE"; case x.isDirectory() => "DIR" } )
                                                              ^

scala>
导入java.io_
val fd=(新文件(“D:/work/”)。列表文件
scala>fd.partition(x=>{case x.isFile()=>“FILE”;case x.isDirectory()=>“DIR”})
:28:错误:缺少扩展函数的参数类型
匿名函数的参数类型必须完全已知。(补充说明8.5)
预期类型为:Boolean
fd.partition(x=>{case x.isFile()=>“FILE”;case x.isDirectory()=>“DIR”})
^
:28:错误:方法isFile不是案例类,也没有unapply/unapplySeq成员
fd.partition(x=>{case x.isFile()=>“FILE”;case x.isDirectory()=>“DIR”})
^
:28:错误:方法isDirectory不是案例类,也没有unapply/Unplyseq成员
fd.partition(x=>{case x.isFile()=>“FILE”;case x.isDirectory()=>“DIR”})
^
斯卡拉>

您的代码有很多问题,这表明您应该从阅读一本有关scala语法的书开始(这就是为什么您得到了反对票)

在这一点上,列举代码片段中的所有错误似乎是毫无意义的。这样做可以满足您的需求:

  val (files, directories) = fd.partition(_.isFile)
或者,如果您希望获得一个映射而不是一个元组:

  val filesDirs = fd.groupBy { 
     case x if x.isFile => "FILE"
     case _ => "DIR"
  }