我想在jenkins中使用groovy将lastModified()json重命名为filename +“processing”。我没有成功:
JSON_BASE_PATH="/json_repo/"
def file = new File(JSON_BASE_PATH).listFiles()?.sort { it.lastModified() }?.find{it=~/.json$/}
file.renameTo( new File( file.getName() + ".processing") )
print "Filename is : " + file
如何重命名?
答案 0 :(得分:1)
你的代码实际上已经有了答案,你只是不把它存储在一个变量中! new File( file.getName() + ".processing")
File
的实例不是文件系统上的实际条目,它只是一个表示。因此,在执行重命名后,您需要使用代表重命名的文件系统条目的File
实例:
JSON_BASE_PATH="/json_repo/"
def file = new File(JSON_BASE_PATH).listFiles()?.sort { it.lastModified() }?.find{it=~/.json$/}
def modifiedFile = new File("${file.getName()}.processing")
/* Check their existence */
println "${file.getName()} exists? ${file.exists()}"
println "${modifiedFile.getName()} exists? ${modifiedFile.exists()}"
/* Rename the file system entry using the File objects */
file.renameTo(modifiedFile)
/* See what we have */
println "Original filename is: ${file}"
println "${file.getName()} exists? ${file.exists()}"
println "Modified Filename is: ${modifiedFile}"
println "${modifiedFile.getName()} exists? ${modifiedFile.exists()}"
答案 1 :(得分:0)
更新:renameTo工作正常。但是文件var不反映重命名名称。如何获得新的重命名?