- public class E{
- public static void main(String[] args) throws Exception {
- String pathA = "/a/b/c/d/g/m/1.txt";
- String pathB = "/c/b/c/d/g/h/2.txt";
- System.out.println(pathARelativePathBRecursion(pathA,pathB,""));
- }
- /**
- * pathA相对于pathB的相对路径 递归算法:
- *
- * @param pathA
- * @param pathB
- * @param i
- * @return
- */
- public static String pathARelativePathBRecursion(String pathA,String pathB, String tempPath) {
- System.out.println(tempPath);
- if (pathB==""||pathB==null)
- System.out.println("null");
- else
- System.out.println(pathB);
- if (pathA.startsWith(pathB))
- return pathA.replaceFirst(pathB+"/",tempPath.substring(0,tempPath.length()-3));
- else
- return pathARelativePathBRecursion(pathA, pathB.substring(0, pathB.lastIndexOf("/")), "../" + tempPath);
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/240220148753.html
来源: http://www.codesnippet.cn/detail/240220148753.html