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'.

Мне интересно только записать имена файлов, содержащиеся в списке, в файл NEWLY

Ответ 1

Это означает, что блок 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
}