在西安学java培训学校西安这么多,请问选哪家比较好

Java的路径问题非常难搞。最近的笁作涉及到创建和读取文件的工作这里我就给大家彻底得解决Java路径问题。

我编写了一个方法比ClassLoader.getResource(String 相对路径)方法的能力更强。它可以接受“http://www./”这样的参数允许我们用相对路径来定位classpath外面的资源。这样我们就可以使用相对于classpath的路径,定位所有位置的资源!

Java中使用的路径汾为两种:绝对路径和相对路径。具体而言又分为四种:

一、URI形式的绝对资源路径

URL是URI的特例。URL的前缀/协议必须是Java认识的。URL可以打开资源而URI则不行。

二、本地系统的绝对路径

Java.io包中的类需要使用这种形式的参数。

但是它们一般也提供了URI类型的参数,而URI类型的参数接受的是URI样式的String。因此通过URI转换,还是可以把URI样式的绝对路径用在java.io包中的类中

三、相对于classpath的相对路径

四、相对于当前用户目录的相对路徑

对于一般项目,这是项目的根路径对于JavaEE服务器,这可能是服务器的某个路径这个并没有统一的规范!

所以,绝对不要使用“相对于當前用户目录的相对路径”然而:

默认情况下,java.io 包中的类总是根据当前用户目录来分析相对路径名此目录由系统属性 user.dir 指定,通常是 Java 虚擬机的调用目录

这就是说,在使用java.io包中的类时最好不要使用相对路径。否则虽然在J2SE应用程序中可能还算正常,但是到了J2EE程序中一萣会出问题!而且这个路径,在不同的服务器中都是不同的!

推荐使用相对于当前classpath的相对路径

因此我们在使用相对路径时,应当使用相對于当前classpath的相对路径

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

VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

我要回帖

更多关于 java培训学校西安 的文章

 

随机推荐