Подтвердить что ты не робот

Как создать временный файл в Groovy?

В Java существует функция java.io.File.createTempFile для создания временных файлов. В Groovy не существует такой функциональности, поскольку эта функция отсутствует в классе File. (См.: http://groovy.codehaus.org/groovy-jdk/java/io/File.html)

Есть ли разумный способ создать временный файл или путь к файлу в Groovy во всяком случае или мне нужно его создать самостоятельно (что не так просто, если я не ошибаюсь)?

Заранее благодарю вас!

4b9b3361

Ответ 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()