Как прочитать файл в Groovy в строку?

Мне нужно прочитать файл из файловой системы и загрузить все содержимое в строку в контроллере groovy, что это самый простой способ сделать это?

Ответ 1

String fileContents = new File('/path/to/file').text

Если вам нужно указать кодировку символов, используйте вместо этого следующее:

String fileContents = new File('/path/to/file').getText('UTF-8')

Ответ 2

Самый короткий путь - это просто

String fileContents = new File('/path/to/file').text

но в этом случае вы не можете контролировать, как байты в файле интерпретируются как символы. AFAIK groovy пытается угадать кодировку здесь, просмотрев содержимое файла.

Если вам нужна конкретная кодировка символов, вы можете указать имя кодировки с помощью

String fileContents = new File('/path/to/file').getText('UTF-8')

Подробнее см. API docs на File.getText(String).

Ответ 3

Небольшое отклонение...

new File('/path/to/file').eachLine { line ->
  println line
}

Ответ 4

Самый простой способ -

new File(filename).getText()

что означает, что вы можете просто сделать:

new File(filename).text