Grails探索之資源檔案的讀取

2021-08-30 11:50:07 字數 1936 閱讀 7671

標題為《grails探索之資源檔案的讀取》,但其實是groovy語言的資源 檔案的讀取,任何使用groovy語言的地方都可以使用這種方法讀取資源檔案。因為我們使用groovy語言的地方,大多要體現在使用grails上,而 且作為乙個grails專案,使用資源檔案是必不可少的。因此,我還是把標題定為「grails探索之資源檔案的讀取」。

首先,我們來看看grails的資源檔案,下面的例子是grails的資料來源配置檔案的一部分:

datasource

它就是一種所謂的「dsl」編碼,的確比我們常規的properties檔案要來的簡單,如是properties檔案的話,上面的**就會變成如下的樣子:

datasource. pooled = false

datasource. driverclassname = "oracle.jdbc.driver.oracledriver"

datasource. username = "test"

datasource. password = "test"

datasource. dialect = org.hibernate.dialect.oracle9dialect

對比上面的兩個例子,可以看到,groovy語言的dsl配置檔案的確是要簡單多了。但是,我們自己要如何才能讀取形如datasource.groovy這樣的配置檔案呢?

答案是 configslurper

類。是的,在

groovy

語言中,我們都通過

configslurper

類來操作配置檔案,在

grails

裡也不例外。

下面來看乙個簡單的例子,假如我們有乙個

test.groovy

的檔案,內容如下:

test

首先,我們需要讀入「

test.groovy

」檔案:

defconfig =newconfigslurper().parse(newfile(

"$/configslurper/test.groovy"

).tourl())

注意,system.properties['user.dir'] 獲取的是當前專案的更目錄,其他就沒什麼好說的了。

然後來讀取配置檔案的內容:

printlnconfig.test.name

printlnconfig.test.age

printlnconfig.test.***

注意到,我們讀取配置檔案的內容採取的是一種型別如「

xpath

」的方式,在

groovy

語言裡被成為「

gpath」。

即「config

」代表的是配置檔案,即根節點,然後下索到一級節點,即「

test

」,最後是二級節點,即「

name

」、「age

」等。

上面的**的執行結果為:

tom 33

male

果然把上面的配置檔案讀取出來,如此類推,我們可以用這樣的方法來做一些比較複雜的配置檔案。在這裡就不再說明了。

packageuser;

test

然後,我們就可以使用如下**對它進行讀取了:

defconfig =newconfigslurper().parse(newfile(

).tourl())

從framework裡面讀資源檔案

這是framework內部的資源,跟其他都沒有關係。但是framework不能單獨存在,必須要放在某個 主程式 中才能起作用。bundle引數如果不傳,那麼預設是mainbundle,這種情況路徑就不對了。這種情況下,可以用下面這個api來獲得bundle引數。nsbundle bundleforc...

紹棠 從framework裡面讀資源檔案

這是framework內部的資源,跟其他都沒有關係。但是framework不能單獨存在,必須要放在某個 主程式 中才能起作用。bundle引數如果不傳,那麼預設是mainbundle,這種情況路徑就不對了。這種情況下,可以用下面這個api來獲得bundle引數。nsbundle bundleforc...

資源檔案的使用

學習pyqt推薦大家看這本書 第一步 new file qt resource file 第二步 add prefix建乙個字首 prefix 相當於建立乙個資料夾嘛,可以分類圖示。新增具體圖示就是add files就可以了。這裡的images這個子資料夾,你在命名的加上 images就可以了。su...