У меня есть функция, загружающая файлы с веб-сервера, который иногда получает пустую коллекцию. В функции, которую я вызываю для каждой из этой коллекции, и я ожидаю, что функция просто завершит работу, а каждое закрытие вообще не будет запущено. Проблема в том, что он запускается с пустым параметром имя_файла
, и создание FileOutputStream происходит очень быстро, когда ему передается каталог вместо файла.
def get(String baseUrl, List files, String targetDir) {
files.each { filename ->
// Goes BOOM on next line
def fos = new FileOutputStream(targetDir + File.separator + filename)
...
}
Почему Groovy ведет себя так и что мне делать вместо этого?