Java 文件路徑的讀取


記得在操作系統中了解到文件讀取有兩種方式,當然這在各編程語言中也是通用的,所以java路徑也分,相對和絕對路徑。

絕對路徑

絕對路徑URI ,聽着和URL非常相似。那我們就來看看吧。

URI(Uniformresource Identifier)統一資源標示符.URL統一資源定位符,是一個定位器,還說明了詳細怎樣找到資源.所以他們就有一種抽象和繼承的關系。URI抽象的說明了統一資源表示符號,而URL是詳細的標識符的方式.

怎樣使用呢。

如我們想獲取一個類的詳細位置。僅僅要例如以下方式:

比如:test.class.GetResouce("");

假設中間加了"/"test.class.GetResouce("/");獲取的就是該java類的跟文件夾了。

兩者是不同的。


相對路徑

一般是相對於某一絕對路徑的,我們常使用的是相對於ClassPath

 如:使用ClassLoader類的getResouce()等方法。得到的是當前classPath相對路徑。

 URL ds=Thread.currentThread().getContextClassLoader().getResource("");
System.out.print(ds+"\n");
System.out.print(ClassLoader.getSystemResource(""));

兩種結果是同樣的.


若要讀取內容,直接使用字節流文件

InputStream in=ClassLoader.getSystemResourceAsStream(""beanx-config.xml"");

ClassLoader是類載入器,能夠指定載入特殊資源.上圖中為何同樣呢.原因在於Thread.currentThread()設定了當前的 ClassLoader.他們都指定默認的路徑.所以兩者路徑同樣. 

整體認識:

URL是一種詳細的URI,它不僅唯一標識資源,並且還提供了定位該資源的信息。URI是一種語義上的抽象概念,能夠是絕對的,也能夠是相對的。而URL則必須提供足夠的信息來定位。所以,是絕對的,而通常說的relative URL,則是針對還有一個absolute URL,本質上還是絕對的.

 



注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com