/**
* 由绝对路径获得相对路径(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