gpt4 book ai didi

java - 从绝对路径中提取相对路径

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:35:18 24 4
gpt4 key购买 nike

这是一个看似简单的问题,但我很难以干净的方式解决它。我有一个文件路径如下:

/this/is/an/absolute/path/to/the/location/of/my/file

我需要从上面给定的路径中提取/of/my/file,因为那是我的相对路径。

我的思路是这样的:

String absolutePath = "/this/is/an/absolute/path/to/the/location/of/my/file";
String[] tokenizedPaths = absolutePath.split("/");
int strLength = tokenizedPaths.length;
String myRelativePathStructure = (new StringBuffer()).append(tokenizedPaths[strLength-3]).append("/").append(tokenizedPaths[strLength-2]).append("/").append(tokenizedPaths[strLength-1]).toString();

这可能会满足我的即时需求,但有人可以建议一种更好的方法来从 java 中提供的路径中提取子路径吗?

谢谢

最佳答案

使用 URI class :

URI base = URI.create("/this/is/an/absolute/path/to/the/location");
URI absolute =URI.create("/this/is/an/absolute/path/to/the/location/of/my/file");
URI relative = base.relativize(absolute);

这将导致 of/my/file

关于java - 从绝对路径中提取相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9826769/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com