成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Java中配置文件路徑的獲取

cppowboy / 2870人閱讀

摘要:最近寫(xiě)突然遇到配置文件加載的問(wèn)題,正好有機(jī)會(huì)把關(guān)于路徑的問(wèn)題整理一下。普通類(lèi)中加載配置文件路徑以的方式來(lái)獲取配置文件路徑這樣就得到了一個(gè)文件的路徑,繼而我們可以把它轉(zhuǎn)化成流。

最近寫(xiě)mybatis 突然遇到配置文件加載的問(wèn)題, 正好有機(jī)會(huì)把關(guān)于java路徑的問(wèn)題整理一下。在下面的情況中,可以獲得文件的路徑, 也可以吧文件轉(zhuǎn)成流以便使用。
servlet 加載配置文件路徑

在servlet中有一個(gè)被稱之為servlet上下文的東西, 這個(gè)東西很有意思,簡(jiǎn)單的講這就是一個(gè)web路徑的對(duì)象。例如localhost:8080/demo/index.jsp,以/demo為根路徑的servlet上下文路徑被發(fā)送給web應(yīng)用程序,在這里servlet上下文路徑就是說(shuō)這個(gè)根路徑,所有jsp和servlet應(yīng)用都可以獲得并使用這個(gè)路徑, 同時(shí),這個(gè)路徑也是最常用和最應(yīng)該使用的一個(gè)路徑。既然這么好用就必然有獲得它的一個(gè)很好的辦法,
String path = this.getServletContext().getRealPath("xxx.file");
通過(guò)下面這樣, 你就成功的給文件讀入了文件流。
InputStream inputStream = new FileInputStream(path);
這里的getServletContext()就是獲取servlet的上下文, 而getRealPath("xxx.file");則 是為了獲取文件的真實(shí)路徑。通過(guò)這樣也就解決了Title中得獲取配置文件的問(wèn)題, 然而你說(shuō)了,我不是在servlet中用的, 我是在POJO類(lèi)中使用的, 你這個(gè)servlet很特殊,我總不能每次去建一個(gè)servlet來(lái)加載配置文件吧, 那好, 我們就進(jìn)入下一個(gè)話題。

普通java類(lèi)中加載配置文件路徑

以classloader的方式來(lái)獲取配置文件路徑
String path = ClassName.class.getClassLoader().getResource("xxx.file").getPath();
這樣就得到了一個(gè)文件的路徑,繼而我們可以把它轉(zhuǎn)化成流。
InputStream inputStream = new FileInputStream(path);
是不是很簡(jiǎn)單呢。

用Class類(lèi)加載資源文件
InputStream inputStream = ClassName.class.getResourceAsStream("/error.xml");

絕對(duì)定位,“/”開(kāi)頭,此時(shí)即以classpath為根目錄

相對(duì)定位,不加“/”,則以調(diào)用getResourceAsStream類(lèi)的包路徑作為根目錄(即該類(lèi)所在包下獲取資源)

q前面兩種路徑不過(guò)是冰山一角, 不過(guò)還是可以對(duì)學(xué)習(xí)起到一定的作用, java中得獲取獲取資源路徑的范式數(shù)不勝數(shù), 比如應(yīng)用到框架時(shí), 可以通過(guò)Resource類(lèi), 通過(guò)配置文件加載配置文件:classpath等等。但上面的兩種方式卻是java中最基本的兩種方式。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/68234.html

相關(guān)文章

  • Java路徑問(wèn)題實(shí)例分析

    摘要:中的路徑問(wèn)題實(shí)例分析前言關(guān)于中得路徑問(wèn)題,網(wǎng)上有很多獲取的答案,我這篇文章的目的在于說(shuō)明獲取路徑時(shí)一些不常見(jiàn)的概念。在實(shí)際應(yīng)用中使用的比較多的就是,當(dāng)前路徑和配置文件的路徑其他文件的路徑。大氣層的高度是千米高等等。 Java中的路徑問(wèn)題實(shí)例分析 前言:關(guān)于Java中得路徑問(wèn)題,網(wǎng)上有很多獲取的答案,我這篇文章的目的在于說(shuō)明獲取路徑時(shí)一些不常見(jiàn)的概念。在實(shí)際應(yīng)用中使用的比較多的就是,當(dāng)前...

    EasonTyler 評(píng)論0 收藏0
  • classpath對(duì)獲取配置文件影響

    摘要:,到現(xiàn)在為止一切都按部就班,執(zhí)行上面的命令正常運(yùn)行,讀取里面的文件,并輸出相應(yīng)的屬性。那么,如果我們想改變配置文件的內(nèi)容是否需要修改源文件里的然后重新打包成呢顯然這樣做太麻煩也不太合理,你可以在外面配置一個(gè)新的讓里的去讀取。 Java中經(jīng)常要用到各種配置文件xxx.properties來(lái)控制程序的運(yùn)行或進(jìn)行國(guó)際化等但是也常常遇到配置文件放置路徑找不到的問(wèn)題,這里以java.uitl.R...

    xumenger 評(píng)論0 收藏0
  • Java獲取文件物理絕對(duì)路徑,和讀取文件

    摘要:文件的部分代碼中獲取文件的生成對(duì)象獲取文件的絕對(duì)路徑值使用絕對(duì)路徑當(dāng)使用絕對(duì)路徑時(shí),必須是以開(kāi)頭,這代表了當(dāng)前源代碼的根目錄。 獲取文件的絕對(duì)路徑,讀取該文件 一、文件目錄打印圖 下面的文件目錄圖,是項(xiàng)目中文件的位置信息;下面的例子是按照這個(gè)圖來(lái)演示的。 . |-- java | |-- ibard | | |-- demo1 | | | `-- DemoTes...

    dreambei 評(píng)論0 收藏0
  • 安裝java編程環(huán)境

    摘要:下載安裝配置環(huán)境變量以及驗(yàn)證是否配置成功下面這個(gè)是針對(duì)的版下載首先要選定一個(gè)版本,我這里選擇,越新的版本一般會(huì)有越多的特性。有些編程語(yǔ)言比如會(huì)自動(dòng)配置好環(huán)境變量。 首先明確自己使用的操作系統(tǒng) 在各個(gè)系統(tǒng)中的操作其實(shí)大同小異,都是以下三個(gè)步驟。下載、安裝、配置環(huán)境變量(以及驗(yàn)證是否配置成功) 下面這個(gè)是針對(duì)Windows的 Windows版 下載JDK(java development ...

    chengtao1633 評(píng)論0 收藏0
  • Play framework源碼解析 Part3:Play初始化與啟動(dòng)

    摘要:使用自建的類(lèi)加載器主要是為了便于處理預(yù)編譯后的字節(jié)碼以及方便在模式下進(jìn)行即時(shí)的熱更新。 注:本系列文章所用play版本為1.2.6 在上一篇中,我們分析了play的2種啟動(dòng)方式,這一篇,我們來(lái)看看Play類(lèi)的初始化過(guò)程 Play類(lèi) 無(wú)論是Server還是ServletWrapper方式運(yùn)行,在他們的入口中都會(huì)運(yùn)行Play.init()來(lái)對(duì)Play類(lèi)進(jìn)行初始化。那在解析初始化之前,我們先...

    xuxueli 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<