操作资源文件类 Properties
Properties文件,当我们用记事本打开后,可以发现他里面的文件是类似于Map结构的
通常我们可以使用这类文件来保存我们的资源文件,比如网站名,网站url等
那么我们应该如何来操作他呢:读取和写入,下面我们就来简单的操作下
首先我们看看如何读取:
Properties有一个load方法,可以载入文件,然后通过stringPropertyNames().iterator();获得一个迭代器,然后迭代输出保存到map中,完整的代码如下:
private static void setMap(){
map = new HashMap<String, String>();
//获得配置文件
InputStream in;
try {
in = new BufferedInputStream(new FileInputStream(Properties文件的地址));
prop.load(in);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//迭代
Iterator<String> it=prop.stringPropertyNames().iterator();
//将信息保存到map中
while(it.hasNext()){
//获得配置文件的参数
String params = it.next();
//获得该参数的值
String values = prop.getProperty(params);
map.put(params, values);
}
}
写入Properties文件也很简单
首先创建Properties的实例,然后通过他的setProperty方法,把需要的参数设置好。
然后就可以通过一个文件输出流,把文件写入即可,代码如下
public boolean updataInitable(String data) {
//将json转换为map
Map<String,String> map = JsonArrayToMap.StringToMap(data);
//初始化properties
Properties prop = new Properties();
//设置参数
prop.setProperty("web_URL", map.get("web_URL"));
prop.setProperty("web_title", map.get("web_title"));
//文件操作
try {
FileOutputStream fos = new FileOutputStream(Properties 文件的地址);
prop.store(fos, "new Properties");
fos.flush();
fos.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
prop.clear();
return true;
}
爆款云服务器s6 2核4G 低至0.46/天,具体规则查看活动详情