如何打印groovy中的上一级目录?

ifsvaxew  于 2022-11-01  发布在  其他
关注(0)|答案(3)|浏览(230)

我可以知道如何打印上一级的目录路径吗?(例如,groovy文件位于“abc/def/ghi/dummy.groovy”中,而我想获取“abc/def”路径)
这是我假人,很棒的脚本

File fileCon= new File("/../")
logger.debug((String.format("[%s]", fileCon))
f0ofjuux

f0ofjuux1#

下面是获取父目录File的方法:

def file = new File('abc/def/ghi/dummy.groovy')
println "Parent: ${file.getParentFile().absolutePath}"

它会给予你abc/def/ghi/。你可以从结果中得到父文件夹:

println "Parent: ${file.getParentFile().getParentFile().absolutePath}"

您将得到所需的abc/def

s8vozzvw

s8vozzvw2#

Groovy文件可以从普通文件、jar、url中加载。
我不建议使用这种方法--它并不适用于所有情况。

def url = this.getClass().getProtectionDomain().getCodeSource()?.getLocation()
println new URL(url, '..')
myss37ts

myss37ts3#

我在GroovyDocs中没有看到任何文件,所以我认为这是一个Java类。那么为什么不直接用途:

def file = new File('abc/def/ghi/dummy.groovy')
def filePath = file.getParent().getParent()

相关问题