package property; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.net.URL; import java.util.Properties; public class AppConfig { private static File proFile = null; static { String className = AppConfig.class.getName(); String classNamePath = className.replace(".", "/") + ".class"; URL is = AppConfig.class.getClassLoader().getResource(classNamePath); String path = is.getFile(); File file = new File(path); proFile = new File(file.getParent() + File.separator + "test.property"); } public boolean containsProperty(String key) { Properties props = getProperties(); return props.containsKey(key); } /** * 得到所有的配置 * * @return */ public Properties get() { FileInputStream fis = null; Properties props = new Properties(); try { fis = new FileInputStream(proFile); props.load(fis); } catch (Exception e) { } finally { try { fis.close(); } catch (Exception e) { } } return props; } public String get(String key) { Properties props = get(); return (props != null) ? props.getProperty(key) : null; } public Properties getProperties() { return get(); } /** * 得到cookie * * @param key * @return */ public String getProperty(String key) { return get(key); } /** * 删除配置文件 * * @param key */ public void remove(String... key) { Properties props = get(); for (String k : key) props.remove(k); setProps(props); } public void removeProperty(String... key) { remove(key); } public void set(Properties ps) { Properties props = get(); props.putAll(ps); setProps(props); } /** * 相当于 * * @param key * @param value */ public void set(String key, String value) { Properties props = get(); props.setProperty(key, value); setProps(props); } public void setProperties(Properties ps) { set(ps); } public void setProperty(String key, String value) { set(key, value); } /** * 添加一个配置 * @param p */ private void setProps(Properties p) { FileOutputStream fos = null; try { // 把config建在files目录下 // fos = activity.openFileOutput(APP_CONFIG, Context.MODE_PRIVATE); // 把config建在(自定义)app_config的目录下 fos = new FileOutputStream(proFile); p.store(fos, null); fos.flush(); } catch (Exception e) { e.printStackTrace(); } finally { try { fos.close(); } catch (Exception e) { } } } }