java System.getProperty("user.dir")和replaceAll()

imagePath = System.getProperty("user.dir")+"/bin/image/background.jpg" ; bgImage = ImageIO.read(new File(imagePath.replaceAll("\\\\", "/")));
System.getProperty("user.dir")+"/bin/image/background.jpg"这句话是什么意思,什么情况下使用?
imagePath.replaceAll("\\\\", "/")参数是\\\\是什么意思?为什么要这样使用?
不要复制粘贴,自己的简单几句话即可。。
我一共问了4个问题哦。。详细但不要废话!!谢谢

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("\\\\", "/") 是替换所有/为\\ ,需要转义,至于他用\\\\是错的,\\两个就可以了追问

如果我要把java项目打包成软件,那么这个路径怎么写呢?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-16
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 也是没错的.
"\\\\"是"\\",因为\是特殊字符需要转义,(正则表达式里有说明,正则表达式中有实际意义的都是特殊字符,都需要转义的).
第2个回答  2013-09-16
window下了路径比如图片在:d盘下面,1.jpg,java中个imagePath=“d:\\1.jpg”;要这么写“\”是特殊字符要进行转义,转义字符也是“\”,“d:\\1.jpg”实际的路径就是 d:\1.jpg, "\\\\" 实际的意思就是 字符串“\\”,程序的意思就是想把,imagePath中的“\\” 替换成“/”,"/"一般在linux下使用,window下也是正确的追问

如果我要把java项目打包成软件,那么这个路径怎么写呢?

追答

路径最后使用”/“,图片的路径使用相对路径,比如你的项目名称为demo,图片可以放大demo的下一级目录中例:在demo下面新建一个文件夹,img。图片放到img中,程序中使用相对路径,例如图片1.png ,imagePath = "img/1.png";
这么使用就可以

第3个回答  推荐于2018-05-09
1. 第一句话:System.getProperty() , 是为了拼接绝对路径,以方便找到文件
2 。 替换:是把路径全部替换为 / 分隔的形式

代码只有两句话,所以,我的两句话,足以回答你的一切问题
相似回答