path.properties文件里面的数据一般都是以’key=value’的形式书写的
className=com.lovo.bean.Teacher
methodName=info
以上,classname相当于key,com.lovo.bean.Teacher相当于key对应的value
如果要读取path文件里面的值
必须要使用到java.util下的Properties这个类
因为需要读取文件,所以还需要用到IO流 InputStream 中的FileInputStream
public class TestProperties {
// 创建一个静态常量保存配置文件里面的key属性
private static final String CLASSNAME_KEY = "className";
private static final String METHODNAME_KEY = "methodName";
//用于获取配置文件中所有的属性值
private static String[] sArray = new String[]{CLASSNAME_KEY, METHODNAME_KEY};
public static void main(String[] args) {
String className = getClassName();
//System.out.println(className);
List<String> sList = getPropertiesValue();
//System.out.println(sList.toString());
}
/**
* 获取path文件中指定key属性的value
*
* @return value
* <p>
* 例如以下方法:获取path配置文件中‘className’对应的值
*/
public static String getClassName() {
//1. 实例化一个Properties对象pps
Properties pps = new Properties();
//2. 实例化一个输入流的对象is
InputStream is = null;
//3. 创建一个字符串对象用于保存pps获取的返回值
String className = null;
try {
// 通过path.properties文件路径读取配置文件
is = new FileInputStream("res/path.properties");
// 通过pps加载is读取的数据
pps.load(is);
// 调用getproperties()方法获取key对应的值,即CLASSNAME_KEY对应的值
className = pps.getProperty(CLASSNAME_KEY);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
// 最后返回CLASSNAME_KEY对应的value
return className;
}
/**
* 获取path文件中所有key属性的value
*
* @return value
* <p>
* 例如以下方法:获取path配置文件中‘className’,‘methodName’对应的值
*/
public static List<String> getPropertiesValue() {
List<String> list = new ArrayList<>();
Properties pps = new Properties();
InputStream is = null;
try {
is = new FileInputStream("res/path.properties");
pps.load(is);
String s = null;
for (String ss : sArray) {
s = pps.getProperty(ss);
list.add(s);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return list;
}
}