如何从两个绝对路径(或URL)构造Java中的相对路径?给定两条绝对路径。/var/data/stuff/xyz.dat/var/data如何创建使用第二条路径作为基础的相对路径?在上面的例子中,结果应该是:./stuff/xyz.dat
3 回答

翻阅古今
TA贡献1780条经验 获得超5个赞
String path = "/var/data/stuff/xyz.dat";String base = "/var/data";String relative = new File(base).toURI(). relativize(new File(path).toURI()).getPath();// relative == "stuff/xyz.dat"
java.nio.file.Path#relativize

偶然的你
TA贡献1841条经验 获得超3个赞
import java.nio.file.Path;import java.nio.file.Paths;public class Test { public static void main(String[] args) { Path pathAbsolute = Paths.get("/var/data/stuff/xyz.dat"); Path pathBase = Paths.get("/var/data"); Path pathRelative = pathBase.relativize(pathAbsolute); System.out.println(pathRelative); }}
stuff/xyz.dat
添加回答
举报
0/150
提交
取消