2012-03-02 59 views
0
匿名类

我想使用NIO.2功能使用Scala(类是java.nio.file):实现静态内部接口Scala的

在Java中,我会做:

​​

我该如何在Scala中做同样的事情? FitlerDirectoryStream接口内部的静态接口。

谢谢。

编辑:请不要回复,如果你想建议我另一个库/方法列出文件。我主要关心的主要问题。

回答

5

不是100%确定是否你所要求的验证码Scala中的文字转换:

Files.newDirectoryStream(Paths.get("/tmp"), new DirectoryStream.Filter[Path] { 
    def accept(entry: Path) = false 
}) 

..或别的东西吗?您可以添加的隐式转换:

class PathPredicateFilter(p: Path => Boolean) 
    extends DirectoryStream.Filter[Path] { 
    def accept(entry: Path) = p(entry) 
} 
implicit def PathPredicate_Is_DirectoryStreamFilter(p: Path => Boolean) 
    = new PathPredicateFilter(p) 

现在你可以这样做:

Files.newDirectoryStream(Paths.get("/tmp"), (p: Path) => false /* your code here */) 
+0

该死。是的,我想要文字转换,因为我认为我已经尝试过所有可能的语法组合,并且拼命搜索。非常感谢你。 – woky 2012-03-02 14:09:12