JSP中取项目的根目录

最近在做上传或文件读取的时候,常常被取一些文件的相对路径或者绝对路径所搞昏迷了,特别是InputStreamReader(Class.getResourceAsStream("文件名或者带路径的文件名")),我确实是被它搞郁闷了,无论怎么测也找不到我要找的文件(我把每个下都放了一个我要读的文件,可就是找不到),而且也没有方法能够把它的路径打印出来来看到底getResourceAsStream找的是个什么路径。后来无奈,找到FileReader(filepath);然而这家伙是读文件的绝对路径比较爽的,要它读相对路径也可以,但是如何判断项目的根路径又让人挺郁闷的,而且当项目打包部署的时候对应读取的项目根路径好像会改变,比如原来读到(/WEB-INF,打包部署后会读到/WEB-INF/classes/)而导致文件又读不到了。于是想自己写个读取项目根目录的方法,这样无论怎么部署,有了项目的根目录,我就能轻而易举的定位到我的资源了,我知道java中肯定还有很多其他的方法能够定位一个资源,所以希望大侠们能够多多指点。一下是我写的寻找根目录的方法,希望对和我一样的小菜鸟们有点帮助^_^;
public   static  String getUrlRootPath() {
    UploadFile upFile 
= new UploadFile();
    java.net.URL url 
=upFile.getClass().getResource("UploadFile.class");
    String absolutePath 
= url.getPath();
    String urlRoot
="";
    
int pos=absolutePath.indexOf("WEB-INF");
    
if(pos!=-1)
      urlRoot
=absolutePath.substring(0,pos);
    
else
      urlRoot
=absolutePath.substring(0,3);

if(urlRoot.substring(urlRoot.length()-1,urlRoot.length()).equals(System.getProperty("file.separator"))||urlRoot.substring(urlRoot.length()-1,urlRoot.length()).equals("/"))
    
{
      urlRoot
=urlRoot.substring(0,urlRoot.length()-1);
    }

    
return urlRoot.substring(1,urlRoot.length());//除去路径最开头的' /'
  }

 以后我也会在该贴中继续的贴出上传附件的方法,和计算核对附件大小的方法。希望能对大家有点作用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值