如何在Groovy中创建临时文件?

时间:2010-12-02 17:42:04

标签: groovy temporary-files

在Java中,存在用于创建临时文件的java.io.File.createTempFile函数。在Groovy中似乎没有这样的功能,因为File类中缺少此函数。 (见:http://docs.groovy-lang.org/latest/html/groovy-jdk/java/io/File.html

有没有一种理智的方式在Groovy中创建一个临时文件或文件路径,或者我是否需要自己创建一个(如果我没弄错的话,这不容易正确)?

提前谢谢!

3 个答案:

答案 0 :(得分:39)

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

答案 1 :(得分:6)

您可以在Groovy代码中使用java.io.File.createTempFile()

def temp = File.createTempFile('temp', '.txt') 
temp.write('test')  
println temp.absolutePath

答案 2 :(得分:4)

Groovy类扩展了Java文件类,所以就像在Java中一样。

File temp = File.createTempFile("temp",".scrap");
temp.write("Hello world")
println temp.getAbsolutePath()