//获取当前类文件所在包的根目录
System . out . println (System . getProperty ("user.dir" ). replace ("\\" , "/" ));
//获取当前类文件所在的目录
System . out . println (this . getClass (). getResource ("" ). getPath (). replaceAll ("%20" , " " ));
说明:
1.前者得到的是所在包的根目录,注意后者得到的是类编译后的 .class 所在的目录。即路径中含有 /bin/......
2.前者得到的路径中,如果有空格,会正常显示,而后者得到的路径中,如果有空格,则显示为 %20,故应使用 .replaceAll("%20", " "); 否则,会报“找不到系统路径”的错误。
3.如果是想要获得已打成可运行jar包后,jar包所在的目录,应当使用前者。但是要注意前者得到的路径末尾不带"/",如果需要,手动加上,而后者末尾带有"/"