当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:13:00  来源:本站整理

Java相对途径寻址[Java编程]

赞助商链接



  本文“Java相对途径寻址[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

Java中利用的途径,分为两种:绝对途径和相对途径.具体而言,又分为四种:

1、URI情势的绝对资源途径

如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/aaa.b

URL是URI的特例.URL的前缀/协议,必须是Java熟习的.URL可以翻开资源,而URI则不行.

URL和URI对象可以彼此转换,利用各自的toURI(),toURL()办法便可!

2、本地系统的绝对途径

D:/java/eclipse32/workspace/jbpmtest3/bin/aaa.b

Java.io包中的类,需求利用这种情势的参数.

但是,它们普通也供应了URI范例的参数,而URI范例的参数,承受的是URI款式的String.因此,通过URI转换,还是可以把URI款式的绝对途径用在java.io包中的类中.

3、相关于classpath的相对途径

如:相关于

file:/D:/java/eclipse32/workspace/jbpmtest3/bin/这个途径的相对途径.此中,bin是本项目的classpath.全部的Java源文件编译后的.class文件复制到这个目录中.

4、相关于当前用户目录的相对途径

就是相关于System.getProperty("user.dir")返回的途径.

关于普通项目,这是项目的根途径.关于JavaEE服务器,这大概是服务器的某个途径.这个并没有统一的标准!

所以,绝对不要利用“相关于当前用户目录的相对途径”.但是:

默许情形下,java.io 包中的类老是按照当前用户目录来解析相对途径名.此目录由系统属性 user.dir 指定,普通是 Java 虚拟机的调用目录.

这就是说,在利用java.io包中的类时,最好不要利用相对途径.不然,固然在J2SE利用程序中大概还算正常,但是到了J2EE程序中,一定会出问题!并且这个途径,在差别的服务器中都是差别的!

相对途径最佳实践

举荐利用相关于当前classpath的相对途径

因此,我们在利用相对途径时,该当利用相关于当前classpath的相对途径.

ClassLoader类的getResource(String name),getResourceAsStream(String name)等办法,利用相关于当前项目的classpath的相对途径来查找资源.

读取属性文件常用到的ResourceBundle类的getBundle(String path)也是如此.

通过查看ClassLoader类及其相关类的源代码,我发现,它实际上还是利用了URI情势的绝对途径.通过得到当前classpath的URI情势的绝对途径,构建了相对途径的URI情势的绝对途径.(这个实际上是猜想,因为JDK内部调用了SUN的源代码,而这些代码不属于JDK,不是开源的.)


  以上是“Java相对途径寻址[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 利用Javascript实现网页水印(非图片水印)
  • Java开辟环境的搭建
  • Ubuntu java安装与配置
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • Ubuntu重装后Java环境的设置
  • Sun Java进入Ubuntu 10.10软件中央
  • Ubuntu 10.10配置Java开辟环境
  • 在Ubuntu 10.10中配置Java环境变量的办法
  • Ubuntu下Java环境的搭建
  • Ubuntu 10.04 下安装 Java, JRE
  • Ubuntu 10.04下的搭建SUN JAVA开辟环境
  • Ubuntu 12.04安装java7
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .