操作(读和写)资源文件类 Properties

操作资源文件类 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/天,具体规则查看活动详情Blog Img