package com.yutou.bilibili.Tools; import com.alibaba.fastjson.JSONObject; import java.io.*; /** * 配置和参数 */ public class ConfigTools { public static final String CONFIG="config.json"; public static final String DATA="data.json"; public static final String SQLITE="sqlite.json"; static { try { File file=new File(CONFIG); if(!file.exists()){ file.createNewFile(); } file=new File(DATA); if(!file.exists()){ file.createNewFile(); } file=null; }catch (Exception e){ com.yutou.bilibili.Tools.Log.e(e); } } public static Object load(String type, String key) { return load(type, key, Object.class, null); } public static T load(String type, String key, Class t) { return load(type, key, t, null); } public static T load(String type, String key, Class t, T def) { File file = new File(type); //com.yutou.nas.utils.Log.i(type+"配置文件地址:"+file.getAbsolutePath()); String src = readFile(file); if (src != null) { try { JSONObject json = JSONObject.parseObject(src); return json.getObject(key, t); } catch (Exception e) { } } return def; } public static boolean save(String type,String key,Object data){ File file=new File(type); String src=readFile(file); if(src==null){ src="{}"; } JSONObject json=JSONObject.parseObject(src); json.put(key,data); saveFile(file,json.toJSONString()); return false; } public static boolean saveFile(File file,String data){ try { FileWriter writer=new FileWriter(file); writer.write(data); writer.flush(); writer.close(); return true; } catch (IOException e) { com.yutou.bilibili.Tools.Log.e(e); return false; } } public static String readFile(File file){ try { BufferedReader reader=new BufferedReader(new FileReader(file)); String tmp; StringBuilder str= new StringBuilder(); while ((tmp=reader.readLine())!=null){ str.append(tmp); } reader.close(); return str.toString(); } catch (Exception e) { Log.i("error = "+file.getAbsolutePath()); com.yutou.bilibili.Tools.Log.e(e); } return null; } }