Как создать временный файл в Groovy?
В Java существует функция java.io.File.createTempFile для создания временных файлов. В Groovy не существует такой функциональности, поскольку эта функция отсутствует в классе File. (См.: http://groovy.codehaus.org/groovy-jdk/java/io/File.html)
Есть ли разумный способ создать временный файл или путь к файлу в Groovy во всяком случае или мне нужно его создать самостоятельно (что не так просто, если я не ошибаюсь)?
Заранее благодарю вас!
Ответы
Ответ 1
File.createTempFile("temp",".tmp").with {
// Include the line below if you want the file to be automatically deleted when the
// JVM exits
// deleteOnExit()
write "Hello world"
println absolutePath
}
Упрощенная версия
Кто-то прокомментировал, что они не могут понять, как получить доступ к созданному File
, поэтому здесь более простая (но функционально идентичная) версия вышеприведенного кода.
File file = File.createTempFile("temp",".tmp")
// Include the line below if you want the file to be automatically deleted when the
// JVM exits
// file.deleteOnExit()
file.write "Hello world"
println file.absolutePath
Ответ 2
Вы можете использовать java.io.File.createTempFile()
в коде Groovy.
def temp = File.createTempFile('temp', '.txt')
temp.write('test')
println temp.absolutePath
Ответ 3
Классы Groovy расширяют класс файла Java, поэтому делайте это так, как обычно, на Java.
File temp = File.createTempFile("temp",".scrap");
temp.write("Hello world")
println temp.getAbsolutePath()