Легко записать список в файл

#groovy

#groovy

Вопрос:

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

archivedFiles — это список объектов .. Я получаю сообщение об ошибке, в котором говорится:

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

Меня интересует только запись имен файлов, содержащихся в списке, во ВНОВЬ созданный файл

Ответ №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
}