快速业务通道

Java相对路径寻址 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
   /**     *     *@paramsource     *@paramdest     *@paramnum     *@return     */    privatestatic String cutLastString(String source,String dest,int num){      // String cutSource=null;      for(int i=0;i<num;i++){        source=source.substring(0, source.lastIndexOf(dest, source.length()-2)+1);      }               return source;    }    /**     *     *@paramresource     *@return     */     publicstatic URL getResource(String resource){     ClassLoaderUtil.log.info("勧秘議?斤噐classpath議揃抄?"+resource) ;      return ClassLoaderUtil.getClassLoader().getResource(resource);    }        /**    *@paramargs    *@throwsMalformedURLException    */    publicstaticvoid main(String[] args) throws MalformedURLException {             //ClassLoaderUtil.getExtendResource("../spring/dao.xml");      //ClassLoaderUtil.getExtendResource("../../../src/log4j.properties");      ClassLoaderUtil.getExtendResource("log4j.properties");           System.out.println( ClassLoaderUtil.getClassLoader().getResource("log4j.properties").toString());    } }

Java相对路径寻址(5)

时间:2011-01-29 沈东良

后记

ClassLoaderUtil类的public static URL getExtendResource(String relativePath),虽然很简单,但是确实可以解决大问题。

不过这个方法还是比较简陋的。我还想在未来有空时,进一步增强它的能力。比如,增加Ant风格的匹配符。用**代表多个目录,*代表多个字符,?代表一个字符。达到Spring那样的能力,一次返回多个资源的URL,进一步方便大家开发。

总结:

1.尽量不要使用相对于System.getProperty("user.dir")当前用户目录的相对路径。这是一颗定时炸弹,随时可能要你的命。

2.尽量使用URI形式的绝对路径资源。它可以很容易的转变为URI,URL,File对象。

3.尽量使用相对classpath的相对路径。不要使用绝对路径。使用上面ClassLoaderUtil类的public static URL getExtendResource(String relativePath)方法已经能够使用相对于classpath的相对路径定位所有位置的资源。

4.绝对不要使用硬编码的绝对路径。因为,我们完全可以使用ClassLoader类的getResource("")方法得到当前classpath的绝对路径。

使用硬编码的绝对路径是完全没有必要的!它一定会让你死的很难看!程序将无法移植!

如果你一定要指定一个绝对路径,那么使用配置文件,也比硬编码要好得多!

当然,我还是推荐你使用程序得到classpath的绝对路径来拼资源的绝对路径!

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号