由绝对路径求相对路径
来源:互联网 发布:股票交易系统源码 编辑:程序博客网 时间:2024/04/29 22:31
最近公司的一个任务需要修改文件原来的绝对路径为相对路径,于是写了一个方法:
/** * 由绝对路径获得相对路径(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<strArray2.length;i++){ RelativePath.append("\\").append(strArray2[i]);}/**如果path2路径不在path1路径下,则相对路径为先添加回退路径然后添加i后面的路径信息*/}else if(i < strArray1.length){for(;i<strArray1.length;i++){RelativePath.append("..\\"); //得到回退路径}for(;j<strArray2.length;j++){RelativePath.append(strArray2[j]).append("\\"); //得到j后面的路径信息}RelativePath = RelativePath.deleteCharAt(RelativePath.length()-1); //去除最后的"\"符号}System.out.println("最后得到的相对路径"+RelativePath.toString());return RelativePath.toString(); }
- 由绝对路径求相对路径
- delphi,由相对路径获得绝对路径算法
- delphi 由绝对路径获得相对路径算法
- 关于函数由绝对路径转为相对路径
- 相对路径※绝对路径
- 相对路径、绝对路径
- Java-相对路径/绝对路径
- 相对路径和绝对路径
- 相对路径,绝对路径问题
- 相对路径※绝对路径
- 绝对路径和相对路径
- 相对路径※绝对路径
- 相对路径绝对路径
- 相对路径与绝对路径
- 相对路径和绝对路径
- 绝对路径与相对路径
- 相对路径和绝对路径
- 相对路径与绝对路径
- 关于MongoDB在64位服务器上依然报 mmap failed with out of memory 错误的解决方法(附Mysql性能对比测试)
- JPA概要
- Java中Vector和ArrayList的区别
- 技术点
- 不只是技术!成为IT经理必备的十大软技能
- 由绝对路径求相对路径
- static
- 线程属性
- Spring3与MyBatis3.2的集成
- oracle 数据库数据类型和PL/SQL数据类型
- SDK更新失败
- 谷歌驱使开发人员用谷歌云平台构建移动游戏
- Twitter上市表现出色 创始人身价破25亿美元
- 在32位系统下使用MongoDB的一点心得