这是一个简短的Groovy脚本:
import org.apache.commons.io.FileUtils;
def dir = new File("/mydir")
def files = FileUtils.listFiles(dir, new String[] { "java" }, false)
它说:
No expression for the array constructor call at line: 2
怎么了?
答案 0 :(得分:37)
电话应该是:
def files = FileUtils.listFiles(dir, [ "java" ] as String[], false)
Groovy默认使用Lists,as
运算符可用于将这些列表强制转换为指定类型的数组(通常用于与此示例中的java api交互)
<强> [编辑] 强>
顺便说一下,你可以用纯Groovy这样做:
def files = dir.listFiles().findAll { it.name ==~ /.*\.java/ }
然后,您不需要Commons FileUtils