文章分类

相关文章

Java 配置文件读写辅助类

分类:Java     发布:2018-12-19     来源:本站     浏览:698 次
1.需引入org.json包。下载
2.需引用文件读写辅助类
package com.rc.framework;
import java.util.Iterator;
import org.json.JSONException;
import org.json.JSONObject;
public class ConfigHelper {

	public static String filepath;

	private static ConfigHelper single = new ConfigHelper();

	public static ConfigHelper getInstance() {
		return single;
	}

	/**
	 * 构造函数-初始化配置文件路径
	 */
	public ConfigHelper() {
		if (filepath == null || filepath == "") {
			filepath = getConfigPath();
		}
	}

	/**
	 * 获取配置文件存放路径(根据类路径反推网站路径)
	 */
	public String getConfigPath() {
		String path = this.getClass().getResource("").getPath();
		path = path.substring(1, path.indexOf("/WEB-INF"));
		return path + "/config/siteconfig.json";
	}

	/**
	 * 读取配置文件
	 */
	public static String get(String name) {

		getInstance();
		String txt = FileHelper.ReadFile(filepath);
		try {
			org.json.JSONObject json = new JSONObject(txt);
			Iterator<String> iterator = json.keys();
			while (iterator.hasNext()) {
				String key = iterator.next();
				String value = json.getString(key);
				if (key.toLowerCase().equals(name.toLowerCase())) {
					return value;
				}
			}
		} catch (JSONException e) {
			e.printStackTrace();
		}
		return "";
	}

	/**
	 * 移除配置节点
	 */
	public static String remove(String name) {
		getInstance();
		String txt = FileHelper.ReadFile(filepath);
		try {
			org.json.JSONObject json = new JSONObject(txt);
			Iterator<String> iterator = json.keys();
			while (iterator.hasNext()) {
				String key = iterator.next();
				String value = json.getString(key);
				if (!key.toLowerCase().equals(name.toLowerCase())) {
					json.put(key, value);
				}
				FileHelper.WriteFile(filepath, json.toString(), false);
			}
		} catch (JSONException e) {
			e.printStackTrace();
		}
		return "";
	}

	/**
	 * 修改配置文件
	 */
	public static void set(String name, Object value) {
		getInstance();
		String txt = FileHelper.ReadFile(filepath);
		try {
			org.json.JSONObject json = new JSONObject(txt);
			Iterator<String> iterator = json.keys();
			boolean ex = false;
			while (iterator.hasNext()) {
				String key = iterator.next();
				if (key.toLowerCase().equals(name.toLowerCase())) {
					json.put(key, value);
					ex = true;
					break;
				}
			}
			if (!ex) {
				json.put(name, value);
			}
			FileHelper.WriteFile(filepath, json.toString(), false);
		} catch (JSONException e) {
			e.printStackTrace();
		}
	}
}

使用方法: new ConfigHelper().get("key");

留言评论

*称  呼:
*联系方式: 方便与您取得联系,推荐使用邮箱。
*内  容:

已有评论

暂无数据

上一篇:Java 文件读写辅助类

下一篇:Java 使用Filter实现登录限制