2016-11-15 201 views
2

我想兩個路徑在同一個工作區文件夾比較,並讓他們之間的相對路徑:構建相對路徑中的兩個文件路徑

String firPath = "C:/toto/tata/test1/test2/img/1.jpg" // test example 
String secPath = "C:/toto/tata/test1/img/1.jpg" // test example 

而且從secondPath

example = "../../img/" 
返回firstPath相對路徑

我發現很多例子在不同的語言(蟒蛇,.NET,C++ ...):

How to get relative path from absolute path

compare path and get relative path between two files with javascript

...但的Java無解。

大多數情況下,庫方法有什麼用,我想知道java是否有我可以使用的相同方法。

謝謝你的幫助。

回答

4

加入Java 7 Path.relativize怎麼樣?

Path first = Paths.get(firstPath); Path second = Paths.get(secondPath); 
System.out.println(first.relativize(second)); 
System.out.println(second.relativize(first)); 
+0

謝謝你的幫助,但我仍然在Java 7中。我希望有另一種老版本的Java解決方案。 – Beginner

+1

在Java 7中引入的@Beginner Paths不是8.此外,JavaDoc鏈接此處確認此方法應該可供您使用'https://docs.oracle.com/javase/7/ ...' – Pshemo

+0

您是對的。我試過了,以防萬一,並且它可以工作。非常感謝。 – Beginner