System.getProperty是获取系统属性,Property是以键值对形式表示
user.dir就是jvm系统属性的键,获取用户当前用户目录如win7系统c:\user\administrator,
那么imagePath ="c:\user\administrator/bin/image/background.jpg" ;
windows系统路径分隔符用\ ,java有两种方式读取路径"c:\\user\\administrator\\bin\\image\\background.jpg" 和"c:/user/administrator/bin/image/background.jpg" ,字符串同时出现\\和/就错了找不到文件
imagePath.replaceAll("\\\\", "/") 是替换所有/为\\ ,需要转义,至于他用\\\\是错的,\\两个就可以了
System.getProperty("user.dir")+"/bin/image/background.jpg"打个比方System.getProperty("user.dir")等于是http://zhidao.baidu.com 而/bin/image/background.jpg可以认为是/question/134377272710437005.html.很多时候要获取某个对象文件,它的路径很长,而且他们大部分路径是相同的,可以这么使用,而且有的时候我们不一定知道前面那段路径,或者可能那路径可能会变动,所以这么用。当然你直接拼http://zhidao.baidu.com/question/134377272710437005.html 也是没错的.
"\\\\"是"\\",因为\是特殊字符需要转义,(正则表达式里有说明,正则表达式中有实际意义的都是特殊字符,都需要转义的).
window下了路径比如图片在:d盘下面,1.jpg,java中个imagePath=“d:\\1.jpg”;要这么写“\”是特殊字符要进行转义,转义字符也是“\”,“d:\\1.jpg”实际的路径就是 d:\1.jpg, "\\\\" 实际的意思就是 字符串“\\”,程序的意思就是想把,imagePath中的“\\” 替换成“/”,"/"一般在linux下使用,window下也是正确的
1. 第一句话:System.getProperty() , 是为了拼接绝对路径,以方便找到文件
2 。 替换:是把路径全部替换为 / 分隔的形式
代码只有两句话,所以,我的两句话,足以回答你的一切问题