1、工程结构
2、ConfigFileTest.java
package com.configfile; import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.Properties; public class ConfigFileTest { private static Properties config = null; static {
InputStream in = ConfigFileTest.class.getClassLoader().getResourceAsStream("parameter.properties");
config = new Properties();
try {
config.load(in);
in.close();
} catch (IOException e) {
//读取url.properties出错
e.printStackTrace();
}
} /**
* 通过键获得对应的值
* @param key
* @return
*/
public static String getValue(String key) {
try {
String value = config.getProperty(key);
return value.trim();
} catch (Exception e) {
e.printStackTrace();
return null;
}
} /**
* 读取properties的全部信息
*/
public static void getAllProperties() {
try {
Enumeration en = config.propertyNames();
while (en.hasMoreElements()) {
String key = (String) en.nextElement();
String Property = config.getProperty(key);
System.out.println("key = "+config.getProperty(key));
}
} catch (Exception e) {
e.printStackTrace();
System.err.println("ConfigInfoError" + e.toString());
}
}
public static void main(String args[]) {
System.out.println(getValue("title"));
getAllProperties();
}
}
注:1、properties类详解见:Java中Properties类的操作、JAVA操作properties文件
2、getClass():取得当前对象所属的Class对象
getClassLoader():取得该Class对象的类装载器
类装载器负责从Java字符文件将字符流读入内存,并构造Class类对象,在你说的问题哪里,通过它可以得到一个文件的输入流
3、parameter.properties
title=\u4E2D\u56FD\u4F60\u597D ##爱你中国
message=\u6211\u6765\u4E86 ##我来了