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()方法。
详细看这两位的博客参考:http://gavin-chen.iteye.com/blog/261151和http://trans.blog.51cto.com/503170/110227/
getResourceAsStream()方法,参数是与getResouce()方法是一样的,它相当于你用getResource()取得File文件后,再new InputStream(file)一样的结果。