1. /**
  2. *
  3. * @param filepath .properties文件的位置
  4. */
  5. public void checkFileExists(String filepath){
  6. File file = new File(filepath);
  7. if (file.exists()) {
  8. String s = PropertiesUtil.readValue(filepath, "allTime");
  9. if (s!=null) {
  10. ShowAllTime = Integer.parseInt(s)*60*1000;
  11. }
  12. String mqtt = PropertiesUtil.readValue(filepath, "showTime");
  13. if (mqtt!=null) {
  14. ShowTime = Integer.parseInt(mqtt)*1000;
  15. }
  16. }
  17. }

  1. /**
  2. * 对Properties文件的操作
  3. * <p/>
  4. * 写入
  5. * PropertiesUtil mProp = PropertiesUtil.getInstance(this).init();
  6. * mProp.writeString("name", "Mr Lee");
  7. * mProp.commit();
  8. * 读取EG
  9. * PropertiesUtil mProp = PropertiesUtil.getInstance(this).init();
  10. * mProp.open();
  11. * String name = mProp.readString("name", "");
  12. *
  13. * @author lei
  14. */
  15. public class PropertiesUtil {
  16. private Context mContext;
  17. private String mPath;
  18. private String mFile;
  19. private Properties mProp;
  20. private static PropertiesUtil mPropUtil = null;
  21. public static PropertiesUtil getInstance(Context context) {
  22. if (mPropUtil == null) {
  23. mPropUtil = new PropertiesUtil();
  24. mPropUtil.mContext = context;
  25. mPropUtil.mPath = Environment.getExternalStorageDirectory() + "/ExmKeyValue";
  26. mPropUtil.mFile = "properties.ini";
  27. }
  28. return mPropUtil;
  29. }
  30. public PropertiesUtil setPath(String path) {
  31. mPath = path;
  32. return this;
  33. }
  34. public PropertiesUtil setFile(String file) {
  35. mFile = file;
  36. return this;
  37. }
  38. public PropertiesUtil init() {
  39. try {
  40. File dir = new File(mPath);
  41. if (!dir.exists()) {
  42. dir.mkdirs();
  43. }
  44. File file = new File(dir, mFile);
  45. if (!file.exists()) {
  46. file.createNewFile();
  47. }
  48. InputStream is = new FileInputStream(file);
  49. mProp = new Properties();
  50. mProp.load(is);
  51. is.close();
  52. } catch (Exception e) {
  53. e.printStackTrace();
  54. }
  55. return this;
  56. }
  57. public void commit() {
  58. try {
  59. File file = new File(mPath + "/" + mFile);
  60. OutputStream os = new FileOutputStream(file);
  61. mProp.store(os, "");
  62. os.close();
  63. } catch (Exception e) {
  64. e.printStackTrace();
  65. }
  66. mProp.clear();
  67. }
  68. public void clear() {
  69. mProp.clear();
  70. }
  71. public void open() {
  72. mProp.clear();
  73. try {
  74. File file = new File(mPath + "/" + mFile);
  75. InputStream is = new FileInputStream(file);
  76. mProp = new Properties();
  77. mProp.load(is);
  78. is.close();
  79. } catch (Exception e) {
  80. e.printStackTrace();
  81. }
  82. }
  83. public void writeString(String name, String value) {
  84. mProp.setProperty(name, value);
  85. }
  86. public String readString(String name, String defaultValue) {
  87. return mProp.getProperty(name, defaultValue);
  88. }
  89. public void writeInt(String name, int value) {
  90. mProp.setProperty(name, "" + value);
  91. }
  92. public int readInt(String name, int defaultValue) {
  93. return Integer.parseInt(mProp.getProperty(name, "" + defaultValue));
  94. }
  95. public void writeBoolean(String name, boolean value) {
  96. mProp.setProperty(name, "" + value);
  97. }
  98. public boolean readBoolean(String name, boolean defaultValue) {
  99. return Boolean.parseBoolean(mProp.getProperty(name, "" + defaultValue));
  100. }
  101. public void writeDouble(String name, double value) {
  102. mProp.setProperty(name, "" + value);
  103. }
  104. public double readDouble(String name, double defaultValue) {
  105. return Double.parseDouble(mProp.getProperty(name, "" + defaultValue));
  106. }
  107. /**
  108. * 根据key读取value
  109. *
  110. * @param filePath
  111. * @param key
  112. * @return
  113. */
  114. public static String readValue(String filePath, String key) {
  115. Properties props = new Properties();
  116. try {
  117. InputStream in = new BufferedInputStream(new FileInputStream(
  118. filePath));
  119. props.load(in);
  120. String value = props.getProperty(key);
  121. if (value.equals("")) {
  122. return null;
  123. } else {
  124. return value;
  125. }
  126. } catch (Exception e) {
  127. e.printStackTrace();
  128. return null;
  129. }
  130. }
  131. }

Android 对.properties文件的读取的更多相关文章

  1. Android 对 properties文件的读写操作

    -. 放在res中的properties文件的读取,例如对放在assets目录中的setting.properties的读取:PS:之所以这里只是有读取操作,而没有写的操作,是因为我发现不能对res下 ...

  2. 关于properties文件的读取(Java/spring/springmvc/springboot)

    一.Java读取properties文件 1.基于ClassLoder读取配置文件 注意:该方式只能读取类路径下的配置文件,有局限但是如果配置文件在类路径下比较方便. Properties prope ...

  3. Android local.properties 文件读取

    转载请标明出处:http://www.cnblogs.com/zhaoyanjun/p/6202369.html 本文出自[赵彦军的博客] 在Android Studio项目里面有个local.pro ...

  4. Java Bean 获取properties文件的读取

    实际的开发过程中,将一些配置属性从java代码中提取到properties文件中是个很好的选择,降低了代码的耦合度.下面介绍两种通过spring读取properties文件的方法,以ip地址配置为例. ...

  5. properties文件的读取

    Demo //声明资源器类 Properties pro=new Properties(); //获取路径 URL url= PropertiesTest.class.getClassLoader() ...

  6. android从资源文件中读取文件流显示

    在android中,假如有的文本文件,比如TXT放在raw下,要直接读取出来,放到屏幕中显示,可以这样:代码区: private void doRaw(){ InputStream is = this ...

  7. Properties文件工具读取类

    import java.io.IOException;import java.io.InputStream;import java.util.Properties; public class Comm ...

  8. android从asset文件夹读取文件

    1)将一个txt文本(msg.txt)复制到开发目录的asset文件夹下. 2)用getAssets().open()可以得到一个输入流.注意getAssets方法必须用在Activity下边.如果不 ...

  9. java 读取properties文件总结

    一.java读取properties文件总结 在java项目中,操作properties文件是经常要做的,因为很多的配置信息都会写在properties文件中,这里主要是总结使用getResource ...

随机推荐

  1. regexp模式匹配+location页面跳转+cookie/localstorage本地存储

    学习js的过程中,根据知识点编写一些code进行测试,以便检验. 这段程序使用了以下知识点: 1.regexp,对数据进行模式匹配 2.使用location对象进行页面跳转. 3.cookie/loc ...

  2. WSDL文档框架

  3. 最大公约数最小公倍数 (例:HDU2028 Lowest Common Multiple Plus)

    也称欧几里得算法 原理: gcd(a,b)=gcd(b,a mod b) 边界条件为 gcd(a,0)=a; 其中mod 为求余 故辗转相除法可简单的表示为: int gcd(int a, int b ...

  4. (转)30 IMP-00019: row rejected due to ORACLE error 12899

    IMP: row rejected due IMP: ORACLE error encountered ORA: value too large , maximum: )导入日志报 IMP: 由于 O ...

  5. (转)iptables常用规则:屏蔽IP地址、禁用ping、协议设置、NAT与转发、负载平衡、自定义链

    转自:http://lesca.me/archives/iptables-examples.html 本文介绍25个常用的iptables用法.如果你对iptables还不甚了解,可以参考上一篇ipt ...

  6. 【2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B】

    [链接]h在这里写链接 [题意] 一个硬币正面朝上的概率为q/p; 抛k次,问你偶数次朝上的概率为多少. [题解] [错的次数] 0 [反思] 在这了写反思 [代码] #include <bit ...

  7. Kinect开发笔记之三Kinect开发环境配置具体解释

            0.前言:        首先说一下我的开发环境,Visual Studio是2013的,系统是win8的64位版本号,SDK是Kinect for windows SDK 1.8版本 ...

  8. apper

    查漏补缺系列之dapper初体验   什么是dapper 在维护一些较老的项目的时候,往往我们会用很多sql那么这个时候我们要考虑优化这些项目的时候,我们就可以使用dapper dapper 是一款轻 ...

  9. 关于Altium Designer的BOM,元件清单

    在生成BOM列表的时候,要记得调整BOM的表格的宽度,以免显示不全, 还有就是BOM列表一共有 comment栏 ,description栏,designator栏,footprint栏,libref ...

  10. [RxJS] BehaviorSubject: representing a value over time

    When an Observer subscribe to a BehaviorSubject. It receivces the last emitted value and then all th ...