Android下使用Properties文件保存程序设置
2015-10-27 19:22
387 查看
读取.properties文件中的配置:
相信上面这段代码大部分朋友都能看懂,所以就不做过多的解释了。
向.properties文件中写入配置:
上面这段代码,跟读取的代码相比,多了一个if判断以及一个while循环。主要是因为Context.Mode造成的。因为我的工程涉及到多个配置信息。所以只能是先将所有的配置信息读取出来,然后在写入配置文件中。
Context.Mode的含义如下:
1.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容。
2.MODE_APPEND:代表该文件是私有数据,只能被应用本身访问,该模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
3.MODE_WORLD_READABLE:表示当前文件可以被其他应用读取。
4.MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。
注:.properties文件放置的路径为/data/data/packagename/files
String strValue = ""; Properties props = new Properties(); try { props.load(context.openFileInput("config.properties")); strValue = props.getProperty (keyName); System.out.println(keyName + " "+strValue); } catch (FileNotFoundException e) { Log.e(LOG_TAG, "config.properties Not Found Exception",e); } catch (IOException e) { Log.e(LOG_TAG, "config.properties IO Exception",e); }
相信上面这段代码大部分朋友都能看懂,所以就不做过多的解释了。
向.properties文件中写入配置:
Properties props = new Properties(); try { props.load(context.openFileInput("config.properties")); OutputStream out = context.openFileOutput("config.properties",Context.MODE_PRIVATE); Enumeration<?> e = props.propertyNames(); if(e.hasMoreElements()){ while (e.hasMoreElements()) { String s = (String) e.nextElement(); if (!s.equals(keyName)) { props.setProperty(s, props.getProperty(s)); } } } props.setProperty(keyName, keyValue); props.store(out, null); String value = props.getProperty(keyName); System.out.println(keyName + " "+value); } catch (FileNotFoundException e) { Log.e(LOG_TAG, "config.properties Not Found Exception",e); } catch (IOException e) { Log.e(LOG_TAG, "config.properties IO Exception",e); }
上面这段代码,跟读取的代码相比,多了一个if判断以及一个while循环。主要是因为Context.Mode造成的。因为我的工程涉及到多个配置信息。所以只能是先将所有的配置信息读取出来,然后在写入配置文件中。
Context.Mode的含义如下:
1.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容。
2.MODE_APPEND:代表该文件是私有数据,只能被应用本身访问,该模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
3.MODE_WORLD_READABLE:表示当前文件可以被其他应用读取。
4.MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。
注:.properties文件放置的路径为/data/data/packagename/files
相关文章推荐
- Android onTouch事件传递机制
- android soap webservers 无法执行 报错 ht.call(SOAP_ACTION, envelope);解决方法
- Activity进阶知识整理
- Android自定义ListView
- android 实现button单击双击事件同时监控
- android文件存储
- Android控件之CheckBox多选框
- Android进阶之路——AIDL
- android里面隐藏控件的方法
- Android引入高速缓存的异步加载全分辨率
- Android 基础控件 TextView
- Android adb.exe程序启动不起来,如何处理
- android listview 嵌套ListView,子lv高度的问题
- Android WiFi移植
- 【Android 基础】Animation 动画介绍和实现
- Android自定义可循环的滚动选择器CycleWheelView 替代TimePicker/NumberPicker/WheelView
- Android Activity界面跳转讲解
- 自定义可移动view
- Android开发中的多线程
- Android框架之EventBus的简单使用