Java 使用scala获取文件和目录计数
我正在尝试使用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
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"
}