博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android Properties 存储
阅读量:6499 次
发布时间:2019-06-24

本文共 4016 字,大约阅读时间需要 13 分钟。

1.初始化

1 private static void initProperties(){ 2         File logFile = new File(Constants.PROGRESS_PROPERTIES); 3         props = new Properties(); 4         if(!logFile.exists()){ 5             //创建并初始化配置文件 6             FileUtils.createFolder(Constants.BASEPATH + "Config");// 先创建文件夹 7             RootUtil.execAsRoot("echo \"\" > " + Constants.PROGRESS_PROPERTIES, "chmod 666 " + Constants.PROGRESS_PROPERTIES); 8             persistent(-1, -1, -1, -1, "-1", "-1" , 0, 0, "-1", "-1", 0, 0, "-1", "-1", "-1", "-1", "-1", "-1"); 9         }else{10             loadProgress(props, Constants.PROGRESS_PROPERTIES);11         }12     }

2.存储

1 /** 2      * 持久化 4      * @param channel 5      * @param app 6      * @return 7      */ 8     public static boolean persistent(int channel, int app){14         19         props.setProperty(KEY_CHANNEL, String.valueOf(channel));20         props.setProperty(KEY_APP, String.valueOf(app));36         37         FileOutputStream fos = null;38         try{39             fos = new FileOutputStream(Constants.PROGRESS_PROPERTIES);40             props.store(fos, null);41             return true;42         }catch(Exception e){43             return false;44         }finally{45             if(fos != null){46                 try47                 {48                     fos.close();49                 }50                 catch(Exception e){51                     e.printStackTrace();52                 }53             }54         }55     }

3.获取持久化值

1 /** 2      * 获取属性值 3      * @param key 4      * @return 5      */ 6     private static int getValue(String key){ 7         try{ 8             if(props == null){ 9                 initProperties();10             }11             return Integer.parseInt(props.getProperty(key));12         }catch(Exception e){13             e.printStackTrace();14         }15         return -1;16     }17     18     /**19      * 获取属性值20      * @param key21      * @return22      */23     private static String getValueForStr(String key){24         try{25             if(props == null){26                 initProperties();27             }28             return props.getProperty(key);29         }catch(Exception e){30             e.printStackTrace();31         }32         return "-1";33     }

其中包含获取assets文件夹目录下的配置文件:

1 /**     2      * 获取配置文件中的value 3      * @param url 路径 4      * @param param 参数 5      * @param getFlag 访问标识  0:SD , 1 Assets 6      * @return 7      */ 8     public String getValue(String url, String param, int getFlag) { 9         String result = null;10         switch(getFlag){11             case 0:12                 result = getProperties(url).getProperty(param);13                 break;14             case 1:15                 result = getPropertiesByAssets(url).getProperty(param);16                 break;17         }18         19         try {20             if (fis != null) {21                 fis.close();22             }23             if(in != null){24                 in.close();25             }26         } catch (Exception e) {27             e.printStackTrace();28         }29         return result == null ? "" : result;30     }

 

4.当初始化好的文件,重新加载。

1 /** 2      * 加载属性 3      * @param props 4      */ 5     private static void loadProgress(Properties props, String file){ 6         FileInputStream fis = null; 7         try{ 8             fis = new FileInputStream(file); 9             props.load(fis);13             if(props.get(KEY_CHANNEL) == null){14                 props.setProperty(KEY_CHANNEL, String.valueOf(-1));15             }16             if(props.get(KEY_APP) == null){17                 props.setProperty(KEY_APP, String.valueOf(-1));18             }64         }catch(Exception e){65             e.printStackTrace();66         }finally{67             if(fis != null){68                 try69                 { 70                     fis.close();71                 }72                 catch(Exception e){73                     e.printStackTrace();74                 }75             }76         }77     }

转载地址:http://ldvyo.baihongyu.com/

你可能感兴趣的文章
spark- PySparkSQL之PySpark解析Json集合数据
查看>>
DEDECMS教程:上/下一篇文章标题长度的截取方法
查看>>
文件操作示例脚本 tcl
查看>>
大家好,新年快乐。
查看>>
prototype
查看>>
【SQL Server】系统学习之一:表表达式
查看>>
Docker容器入门-基本命令的使用
查看>>
2015湖南省省赛 阶乘除法 暴力
查看>>
SuSE下VNCVIEWER没有出现界面,只有shell窗口的问题
查看>>
软件工程实践2017 个人技术博客
查看>>
poj(2325)线段树
查看>>
Android学习路线
查看>>
Linux下的redis的持久化,主从同步及哨兵
查看>>
在相同的主机上创建一个duplicate数据库
查看>>
Date15
查看>>
从Date类型转为中文字符串
查看>>
bzoj1251: 序列终结者 (splay)
查看>>
rr与hr_RR、AR、OR和HR
查看>>
感情沟通出了问题要怎么解决_当感情出现问题怎么沟通 相处更融洽
查看>>
flutter 卡顿_记一次flutter列表卡顿的优化
查看>>