Groovy 将路径拆分为名称和父级

Posted

技术标签:

【中文标题】Groovy 将路径拆分为名称和父级【英文标题】:Groovy split path into name and parent 【发布时间】:2017-12-14 09:22:15 【问题描述】:

我正在尝试将路径拆分为父级和名称。

尝试时

String path = "/root/file"
File file = new File(path)

println("Name: " + file.name)
println("Parent: " + file.parent)

我们得到

Name: file
Parent: /root

使用 Windows 路径 C:\\root\\file.exe 我们得到

Name: C:\root\file.exe
Parent: null

这是预期的行为吗?如果是这样,我如何为 Windows 路径获得相同的结果? (如果可能,请不要使用正则表达式)

【问题讨论】:

Java (***.com/questions/3548775/…) 的这个答案也应该适用于 Groovy。 【参考方案1】:

使用 .replace 将“\”更改为“/”

String path = "C:\\root\\file.exe"
path = path.replace("\\","/")
File file = new File(path)

println("Name: " + file.name)
println("Parent: " + file.parent)

【讨论】:

以上是关于Groovy 将路径拆分为名称和父级的主要内容,如果未能解决你的问题,请参考以下文章

将路径拆分为 json 节点

控件的所有者和父级有啥区别?

拆分路径并在批处理脚本中取最后一个文件夹名称

Grails 没有从 BuildConfig.groovy 将 jars 添加到类路径

JQuery Datatable - 将单个单元格拆分为多列以提高可读性?

在 Hive/Presto 中将文件路径拆分为其组成路径