日期:2014-05-17 浏览次数:20686 次
String path = this.getClass().getClassLoader().getResource("/").getPath();//这里是你上传部分代码所在类的相对路径 File file = new File(path);
------解决方案--------------------
你可以先把这个
this.getClass().getClassLoader().getResource("/").getPath();
打印出来,看一下路径是什么,
getResource("/")这个可以改成getResource("../../")来找到你的WebContent目录
------解决方案--------------------
Thread.currentThread().getContextClassLoader().getResource("");
this.getClass().getClassLoader().getResource("/").getPath();
都可以获得运行时的绝对路径....什么叫运行时..
比如你项目打成包放到tomcat下,你运行时,路径就是tomcat下的webapps.
比如你在eclips中运行外置的tomcat,这个运行时路径就并不是tomcat,而是你的workspace.
另外用../../的方式只适合于项目本身的目录范围,一旦超出了项目就不行.
比如你想获取一个放在项目布署目录外面的文件.相对路径就不好使了...
但是你可以使用字符串截取的办法得到任意一级的目录...比如tomcat的安装目录.甚至是C盘或者D盘之类的.