日期:2014-05-17  浏览次数:20686 次

请教一个路径问题
java工程包下面的java文件,利用File生成一html文件,生成到WebContent下面,以便启动的时候,可以访问。
这个路径怎么获取啊


------解决方案--------------------
这个访问路径跟你在IDE工作中的路径无关,得看你将项目编译部署到Tomcat之类的服务器上的路径是什么。
------解决方案--------------------
Java code


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盘之类的.