java - 如何在java或groovy中编写相当于python的os.path.relpath()
问题描述
如果我有一个路径 /a/b/c/d/e 并且我想从根目录中删除一些路径 - 例如从中删除 /a/b/c 以获得 /d/e 它非常简单在蟒蛇中:
os.path.relpath("/a/b/c/d/e", "/a/b/c")
问题是如何在 java 中实现这一点。到目前为止,我想出的最好的想法是为每个路径创建一个路径,创建一个迭代器,在其上循环并创建一个路径数组。然后检查每个数组的大小(上例中的 5 和 3),然后从第 4 个位置重建路径...非常麻烦..
解决方案
在 Groovy 中:
def rootPath = new File('/a/b')
def fullPath = new File('/a/b/c/d')
def relPath = new File(root.toURI().relativize(full.toURI()).toString())
推荐阅读
- python - Django 模型子类的类型提示
- c# - 将 Azure 应用服务与本地托管的 IIS WCF 服务通信
- jquery - 如何在 jQuery ajax 的用户代理中添加附加信息?
- angular - 如何从 Ionic Capacitor 打开的 javascript 关闭窗口
- python - Python PDF to TXT 本地字符
- sprite - 获取鼠标输入时如何在glfw中绘制光标?
- python - Python Prefect 上的 MySQL 连接
- javascript - 在选择多个复选框时将属性附加到变量
- html - 如何设置动态div高度
- javascript - 在 React.js 中,何时使用 `${}` 将 Javascript 代码注入 JSX,我们何时使用常规 {}?