Groovy将列表写入文件

时间:2011-11-04 15:51:48

标签: groovy

File lstFile = new File(lstFileName).withWriter{out->
            archivedFiles.each {out.println it.name}
}

archivedFiles是一个List对象..我收到的错误是:

Cannot cast object with class 'java.util.ArrayList' to class 'java.io.File'.

我只对将列表中包含的文件名写入新创建的文件

感兴趣

1 个答案:

答案 0 :(得分:20)

这是因为withWriter块默认返回块中的最后一个东西(archivedFiles列表)

要做你想做的事,你需要这样做:

File lstFile = new File(lstFileName)
lstFile.withWriter{ out ->
  archivedFiles.each {out.println it.name}
}

或者这也应该有效:

File lstFile = new File( lstFileName ).with { file ->
  file.withWriter{ out ->
    archivedFiles.each {out.println it.name}
  }
  file
}