由绝对路径求相对路径

2014-11-24 01:44:09 · 作者: · 浏览: 1
最近公司的一个任务需要修改文件原来的绝对路径为相对路径,于是写了一个方法:
    /**  
   * 由绝对路径获得相对路径(path2相对于path1的相对路径)  
   * @param path1  path1绝对路径  
   * @param path2  path2绝对路径  
   * @return 相对路径  
   * @throws Exception  
   * @author XXX  
   */  
 

public String getRelativePath(String path1,String path2)throws Exception{  
    StringBuffer RelativePath = new StringBuffer();  
    /**替换路径中的"/"为"\"*/  
    path1 = path1.replace("/", "\\");  
    path2 = path2.replace("/","\\");      
    /**将路径按"\"拆分为字符串数组*/  
    String[] strArray1 = path1.split("\\\\"); //将path1路径拆分为数组  
    String[] strArray2 = path2.split("\\\\");      //将path2路径拆分为数组  
    int i = 0;  
    /**比较两个绝对路径中相同的路径信息,并用i记录位置*/  
    for(i = 0; i < strArray1.length && i < strArray2.length ;i ++){  
        if(strArray1[i].equals(strArray2[i])){  
            continue;  
        }else{  
            break;  
        }  
    }  
    int j =i;  
    /**如果path2路径在path1路径下,则相对路径为直接获取i后面的路径信息*/  
    if(i == strArray1.length){  
        for(;i