properties檔案、getResouce()方法、getResourceAsStream()方法
阿新 • • 發佈:2019-02-18
properties檔案
1、properties檔案是一個文字檔案
2、properties檔案的語法有兩種,一種是註釋,一種屬性配置
2.1 注 釋:前面加上#號
2.2 屬性配置:以“鍵=值”的方式書寫一個屬性的配置資訊
3、properties檔案的一個屬性配置資訊值可以換行,但鍵不可以換行。值換行用“\”表示。
4、properties的屬性配置鍵值前後的空格在解析時候會被忽略。
5、properties檔案可以只有鍵而沒有值。也可以僅有鍵和等號而沒有值,但無論如何一個屬性配置不能沒有鍵。
java.util.Properties類#格式良好的properties檔案 name = Bob pwd = 123456
Properties類的層次結構
java.lang.Object java.util.Dictionary<K,V> java.util.Hashtable<Object,Object> java.util.Propertiesproperties檔案與Properties類的關係
通過properties檔案可以填充Properties類。 也可以通過xml檔案來填充Properties類。 可以通過絕對路徑方式載入Properties檔案資訊,也可以使用相對路徑載入。#my properties file"jdbc.properties"
db.username=root
db.password=123456
db.dataBaseName=YHGL
package util; import .....省略..... import java.util.Properties; public class DatabaseUtils { private static String username; private static String password; private static String dataBaseName; static{ config(); } /......省略程式碼......./ public static void config(){ Properties prop=new Properties(); try { prop.load(DatabaseUtils.class.getClassLoader().getResourceAsStream("jdbc.properties")); username=prop.getProperty("db.username"); password=prop.getProperty("db.password"); dataBaseName=prop.getProperty("db.dataBaseName"); } catch (IOException e) { System.out.println("jdbc.properties loading error:"); e.printStackTrace(); } } }
用JAVA獲取檔案,大常最經常用的,就是用JAVA的File類以及IO,如要取得c:/test.txt檔案,就會這樣用File file = new File("c:/test.txt"),這樣用的問題就是路徑硬編碼,最終生成的應用也會部署到Windows外的作業系統中,對於linux來說,在應用中用了c:/這樣的字樣,就是失敗,所以,我們應該儘量避免使用硬編碼,即避免使用直接使用絕對路徑。
有什麼方法可以更好地獲得檔案呢?那就是Class.getResource()與Class.getResourceAsStream()方法。
getResourceAsStream()方法,引數是與getResouce()方法是一樣的,它相當於你用getResource()取得File檔案後,再new InputStream(file)一樣的結果。