You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何处理规范路径与绝对路径的匹配及相对路径生成问题

Android路径匹配与相对路径生成问题

测试中发现,调用myfile.getCanonicalPath()会生成如下格式的路径:

/data/data/<pkg>/files/...

而调用myfile.getAbsolutePath()生成的路径格式为:

/data/user/0/<pkg>/files/...

现需实现以下两个方法之一:

方法1:判断路径是否指向同一文件系统位置

public boolean pathsAreEqual(String p1, String p2) {
  // return true if both paths represent the same location in filesystem
}

方法2:生成相对路径

public String getRelativePath(String p1, String p2) {
  // return a reduced p2 to a relative path from p1

  // was hoping to use Path.relativize() here but that fails due to prefix diffs.
}

但两种路径的前缀差异导致直接处理遇到问题——比如原本想使用Path.relativize(),但因前缀不同无法生效。目前我能想到的解决思路是从右到左遍历路径,找到<pkg>名称并将其作为根路径来统一处理,希望得到其他可行的方案。

内容的提问来源于stack exchange,提问作者user17856705

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 00:32:34