1. 程式人生 > >properties檔案、getResouce()方法、getResourceAsStream()方法

properties檔案、getResouce()方法、getResourceAsStream()方法

 properties檔案 1、properties檔案是一個文字檔案 2、properties檔案的語法有兩種,一種是註釋,一種屬性配置        2.1    注       釋:前面加上#號        2.2    屬性配置:以“鍵=值”的方式書寫一個屬性的配置資訊 3、properties檔案的一個屬性配置資訊值可以換行,但鍵不可以換行。值換行用“\”表示。 4、properties的屬性配置鍵值前後的空格在解析時候會被忽略。 5、properties檔案可以只有鍵而沒有值。也可以僅有鍵和等號而沒有值,但無論如何一個屬性配置不能沒有鍵。
#格式良好的properties檔案 
name = Bob 
pwd  = 123456
java.util.Properties類

Properties類的層次結構

java.lang.Object   java.util.Dictionary<K,V>       java.util.Hashtable<Object,Object>           java.util.Properties

properties檔案與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)一樣的結果。