`

总结复习 android存储方式2-键值对java Properties

 
阅读更多
java的Properties可以操作一个键值对类型数据保存的文件,同样可以在android进行保存数据。
可以作为工具类保存数据

 
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import android.content.Context;
import android.content.res.AssetManager;
public class PropertiesConfig extends Properties {
 public static final String configPath = "config" + File.separator
   + "client_config.properties";
 public static final String KEY_user_valid_code = "KEY_user_valid_code";
 private static Context mContext;
 private PropertiesConfig() {
 };
 private static PropertiesConfig mPro;
 public static PropertiesConfig getInstance(Context mContext) {
  if (PropertiesConfig.mContext == null || mPro == null) {
   PropertiesConfig.mContext = mContext;
   try {
    //当且仅当不存在具有此抽象路径名指定名称的文件时创建一个新的空文件
    File file=new File(configPath);
    file.mkdirs();
    file.createNewFile();
   } catch (IOException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
   }
   PropertiesConfig pro = new PropertiesConfig();
   //android的AssetManager类管理Asset文件夹下的资源
   AssetManager am = mContext.getAssets();
   try {
    InputStream is = am.open(configPath);
    pro.load(is);
    is.close();
   } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   mPro = pro;
   return pro;
  }
  return mPro;
 }
 @Override
 public Object setProperty(String key, String value) {
  super.setProperty(key, value);
  try {
   //保存键值对
   this.store(new FileOutputStream(PropertiesConfig.configPath),
     "utf-8");
  } catch (FileNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return value;
 }
 
 public Object put(String key, String value) {
  super.put(key, value);
  try {
   //保存键值对
   this.store(new FileOutputStream(PropertiesConfig.configPath),
     "utf-8");
  } catch (FileNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return value; }
}

 

 

分享到:
评论

相关推荐

    Android存取键值对的代码例子

    Properties类通常用于处理Java的属性文件,但在Android中,我们也可以用它来实现键值对的存储。不过,Properties通常用于跨进程或者网络通信时的数据交换,而不是本地持久化存储。以下是如何使用Properties的例子:...

    java 改变Properties文件中的键值

    在Java编程中,Properties文件是用于存储配置信息的文本文件,通常以.key=value的形式组织。当我们需要在程序运行时修改这些键值对,可以使用Java的Properties类来实现。以下是一些关于如何在Java中改变Properties...

    Android代码-androidjava通用代码关于用properties存储打印的Log.zip

    这个名为"Android代码-androidjava通用代码关于用properties存储打印的Log.zip"的压缩包提供了一个解决方案,即使用Properties类来存储和读取日志。 Properties类是Java标准库中的一个类,主要用于处理属性键值对,...

    java 枚举遍历键值对 属性类Properties 类加载器

    而Properties类是Java中用于处理键值对的标准工具,它通常与类加载器协同工作来加载和存储配置信息。现在,我们将深入探讨这些概念。 首先,让我们来看看枚举。在Java中,枚举可以通过以下方式定义: ```java ...

    Android高级应用源码-android java 通用代码,关于用properties存储打印的Log.zip

    这个压缩包“Android高级应用源码-android java 通用代码,关于用properties存储打印的Log.zip”显然是一个关于如何在Android应用中使用Java的Properties类来管理日志打印的示例。下面我们将详细讨论这个知识点。 ...

    gulp-filter-java-properties:filter-java-properties Node 包的 gulp 包装器

    gulp-filter-java-properties Node 包的包装。 执行键值字符串替换,类似于 Maven 资源插件。用法首先,安装gulp-filter-java-properties作为开发依赖: npm install --save-dev gulp-filter-java-properties 然后,...

    Android高级应用源码-android java 通用代码,关于用properties存储打印的Log.rar

    这个压缩包"Android高级应用源码-android java 通用代码,关于用properties存储打印的Log"提供了一种使用.properties文件来存储和打印Log的方法,这可以使得日志管理更加灵活和可配置。下面将详细解释这种技术的核心...

    jquery-i18n-properties.zip

    `.properties` 文件是一种常见的用于存储键值对的格式,广泛应用于Java和前端的国际化场景。每个键对应一个值,键值对之间用等号分隔。例如,`greeting=你好`,这里的`greeting`是键,`你好`是中文对应的值。开发者...

    java properties文件中文转化

    Java Properties文件是Java编程语言中用于存储配置信息的文本文件,通常以.properties为扩展名。这类文件的内容主要是键值对,广泛应用于各种配置场景,如应用程序的设置、国际化(i18n)文本等。然而,由于历史原因...

    jquery-i18n-properties-1.0.9

    这个插件主要依赖于.properties文件,这是一种在Java世界中广泛使用的用于存储配置信息的文本文件格式,常用于保存多语言的文本资源。jQuery.i18n.properties插件可以方便地读取和解析这些文件,动态加载用户所选择...

    java properties应用案例

    Java Properties是Java语言中用于处理配置文件的一个内置类,它主要负责存储键值对的数据,广泛应用于各种配置文件,如数据库连接配置、系统环境变量设置等。Properties类提供了读取和写入.properties文件的能力,...

    java对properties配置文件的读和写

    在Java编程中,`properties`文件是用于存储应用程序配置信息的一种简单文本格式。这些文件通常包含键值对,其中键和值之间用等号或冒号分隔。本篇文章将详细探讨如何在Java中读取、写入、修改以及删除`properties`...

    android中读取properties文件

    在Android开发中,读取`properties`文件是一个常见的任务,主要用于存储配置信息或者与Java中的`.properties`文件进行交互。`.properties`文件是一种简单的键值对格式,常用于跨平台的配置存储。以下是对这个主题的...

    jquery-i18n-properties

    这个插件基于Java的`.properties`文件格式,这种格式被广泛用于存储国际化文本。 ### 1. jQuery i18n Properties 插件的核心功能 - **属性文件解析**:该插件能够解析以`.properties`为扩展名的文件,这些文件通常...

    Java Properties 解决中文乱码和顺序读写.docx

    Java Properties 类是Java标准库中用于处理配置文件的关键组件,主要负责存储和加载键值对数据,常用于管理应用程序的配置信息。配置文件通常以`.properties`为扩展名,采用文本格式,每行包含一个键值对,键和值...

    JAVA 解决Properties文件保存中文乱码

    在Java编程中,Properties文件是用于存储配置信息的文本文件,通常包含键值对,其中键和值可以是任意字符串。然而,当这些文件中包含中文字符时,如果不正确地处理编码,可能会出现中文乱码的问题。本文将深入探讨...

    Android-dianping-ba-framework基于Java的web项目框架

    【Android-dianping-ba-framework基于Java的web项目框架】是一个专门为Android开发者设计的Web项目框架,它结合了Java技术栈,旨在简化Android应用后台服务的构建过程,提高开发效率和代码质量。在这个框架中,我们...

    国际化插件--读取 .properties的中文文件

    首先,.properties文件是Java平台用于存储配置信息或文本资源的标准格式,特别适用于存储国际化字符串。这些文件通常包含键值对,其中键是标识符,值是对应的字符串。例如,键`greeting`可能对应值`你好,世界!`。...

Global site tag (gtag.js) - Google Analytics