我对 Scala 很陌生,所以请原谅我的基本问题。
我正在尝试让 Scala-Arm 管理类成员的发布,但在确定范围时遇到了麻烦。
尽管以下代码可以编译,但它失败了
java.lang.NoSuchMethodError: resource.ManagedResource.reflect()Ljava/lang/Object;
在反映电话。因此,似乎managed_file
正在立即发布。
对于局部变量,我使用了for (managed_file <- managed(...))
语法,但在这里看不到该怎么做。
建议任何人?
class Writer(outputPath: String){
val managed_file = managed(new FileOutputStream(new File(outputPath)))
def write(something : SomeClass) {
var bos = new ByteArrayOutputStream
var dos = new DataOutputStream(bos)
try {
dos.write(Marshal.dump(something))
bos.writeTo(managed_file.reflect)
}
finally {
dos.close
bos.close
}
}
}