真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

深入淺析Java中的Resource路徑

深入淺析Java中的Resource路徑?針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)鳳陽免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

  Java Resource路徑

首先一點(diǎn)很重要,Java中不存在標(biāo)準(zhǔn)的相對路徑,各種相對路徑取資源的方式都是基于某種規(guī)則轉(zhuǎn)化為絕對路勁

然后一點(diǎn)也很重要,絕對不要直接使用絕對路徑,否則死得很難看

基于以上兩點(diǎn),總結(jié)Resource路徑問題無非歸結(jié)為一點(diǎn):找基點(diǎn),也就是在某種環(huán)境下(web、j2ee或jar包等)通過合適的方式找到一個(gè)穩(wěn)定的基點(diǎn),然后通過這個(gè)基點(diǎn)找到你要的resource

Java中的基點(diǎn)有哪些呢?大致總結(jié)一下有以下幾種:

1)classpath

如果你要找的資源在classpath下,那么通過classpath這個(gè)基點(diǎn)是比較合適的,而取得這個(gè)基點(diǎn)方式主要是通過ClassLoader來,具體方法就是 ClassLoader.getResource(String name),而取得ClassLoader的方式很多,比如:

  1. Thread.currentThread().getContextClassLoader()
  2. clazz.getClassLoader()
  3. ClassLoader. getSystemClassLoader()
     

ClassLoader找resource的實(shí)現(xiàn)原理就是先遞歸在parent classLoader中從所在classpath里加載resource(最終如何加載JDK未開源),如果所有層級的classLoader都未找到,則調(diào)用findResource方法來找,而這個(gè)方法是暴露給自制classLoader來現(xiàn)實(shí)的,因此給了在classpath之外加載resource的機(jī)會。

2) 當(dāng)前用戶目錄

就是相對于System.getProperty("user.dir" )返回的路徑, 對于一般項(xiàng)目,這是項(xiàng)目的根路徑。對于JavaEE服務(wù)器,這可能是服務(wù)器的某個(gè)路徑。這個(gè)并沒有統(tǒng)一的規(guī)范! 然而, 默認(rèn)情況下,java.io 包中的類總是根據(jù)當(dāng)前用戶目錄來分析相對路徑名,如new File("xxx"),就是在 System.getProperty("user.dir" )路徑下找xxx文件。因此,通過這種方式來定位文件可能會出現(xiàn)移植問題。

3) Web應(yīng)用程序的根目錄

在Web應(yīng)用程序中,我們一般通過ServletContext.getRealPath("/" )方法得到Web應(yīng)用程序的根目錄的絕對路徑。

關(guān)于深入淺析Java中的Resource路徑問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。


網(wǎng)頁名稱:深入淺析Java中的Resource路徑
分享網(wǎng)址:http://weahome.cn/article/gdoicd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部