写在前面:
程序中有时需要把一些用户可能要修改的数据写到配置文件中,然后在使用时读取这个数据,这里记录下自己使用的读取properties配置文件这个方法。
首先参考文章:http://www.cnblogs.com/shang20017/archive/2009/04/16/1437271.html
里面提供了几种方法,我挑了其中一个。至于为什么不用xml,实不相瞒,因为我目前不懂这个东西,哈哈哈。
1.configAndroid.properties和ReadConfigAndroid的文件目录:
2.贴个代码
configAndroid.properties:
AUTOMATIONNAME=Appium
DEVICENAME=LS
PLATFORMNAME=Android
PLATFORMVERSION=6.0
UDID=2a20b4fd
APPPACKAGE=com.apricotforest.dossier.plus
APPACTIVITY=com.apricotforest.dossier.medicalrecord.activity.main.MainLoadingActivity
UNICODEKEYBOARD=True
RESETKEYBOARD=True
NOSIGN=True
NEWCOMMANDTIMEOUT=30
ReadConfigAndroid:
package com.xingshulin.util;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class ReadConfigAndroid {
public String AUTOMATIONNAME;
public String DEVICENAME;
public String PLATFORMNAME;
public String PLATFORMVERSION;
public String UDID;
public String APPPACKAGE;
public String APPACTIVITY;
public String UNICODEKEYBOARD;
public String RESETKEYBOARD;
public String NOSIGN;
public String NEWCOMMANDTIMEOUT;
public void getConfig() {
InputStream inputStream = this.getClass().getResourceAsStream("configAndroid.properties");
Properties p = new Properties();
try {
p.load(inputStream);
} catch (IOException e1) {
e1.printStackTrace();
}
AUTOMATIONNAME = p.getProperty("AUTOMATIONNAME");
DEVICENAME = p.getProperty("DEVICENAME");
PLATFORMNAME = p.getProperty("PLATFORMNAME");
PLATFORMVERSION = p.getProperty("PLATFORMVERSION");
UDID = p.getProperty("UDID");
APPPACKAGE = p.getProperty("APPPACKAGE");
APPACTIVITY = p.getProperty("APPACTIVITY");
UNICODEKEYBOARD = p.getProperty("UNICODEKEYBOARD");
RESETKEYBOARD = p.getProperty("RESETKEYBOARD");
NOSIGN = p.getProperty("NOSIGN");
NEWCOMMANDTIMEOUT = p.getProperty("NEWCOMMANDTIMEOUT");
}
}
其中,原文中使用的是
this.getClass().getClassLoader().getResourceAsStream("ipConfig.properties");
但是我用的时候报错,后来百度了下,修改成下面这个就好了
this.getClass().getResourceAsStream("configAndroid.properties");
然后就可以使用啦,啦啦啦。。。