標題為《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...