`

android-键值对java Properties

 
阅读更多

 


Java代码   收藏代码
  1. java的Properties可以操作一个键值对类型数据保存的文件,同样可以在android进行保存数据。  
Java代码   收藏代码
  1. 可以作为工具类保存数据<pre name="code" class="java"></pre>  
  2.    
Java代码   收藏代码
  1. import java.io.File;  
  2. import java.io.FileInputStream;  
  3. import java.io.FileNotFoundException;  
  4. import java.io.FileOutputStream;  
  5. import java.io.IOException;  
  6. import java.io.InputStream;  
  7. import java.util.Properties;  
Java代码   收藏代码
  1. import android.content.Context;  
  2. import android.content.res.AssetManager;  
Java代码   收藏代码
  1. public class PropertiesConfig extends Properties {  
Java代码   收藏代码
  1.  public static final String configPath = "config" + File.separator  
  2.    + "client_config.properties";  
Java代码   收藏代码
  1.  public static final String KEY_user_valid_code = "KEY_user_valid_code";  
  2.  private static Context mContext;  
Java代码   收藏代码
  1.  private PropertiesConfig() {  
  2.  };  
Java代码   收藏代码
  1.  private static PropertiesConfig mPro;  
Java代码   收藏代码
  1.  public static PropertiesConfig getInstance(Context mContext) {  
  2.   if (PropertiesConfig.mContext == null || mPro == null) {  
  3.    PropertiesConfig.mContext = mContext;  
  4.    try {  
  5.     //当且仅当不存在具有此抽象路径名指定名称的文件时创建一个新的空文件  
  6.     File file=new File(configPath);  
  7.     file.mkdirs();  
  8.     file.createNewFile();  
  9.    } catch (IOException e1) {  
  10.     // TODO Auto-generated catch block  
  11.     e1.printStackTrace();  
  12.    }  
  13.    PropertiesConfig pro = new PropertiesConfig();  
  14.    //android的AssetManager类管理Asset文件夹下的资源  
  15.    AssetManager am = mContext.getAssets();  
  16.    try {  
  17.     InputStream is = am.open(configPath);  
  18.     pro.load(is);  
  19.     is.close();  
  20.    } catch (Exception e) {  
  21.     // TODO Auto-generated catch block  
  22.     e.printStackTrace();  
  23.    }  
  24.    mPro = pro;  
  25.    return pro;  
  26.   }  
  27.   return mPro;  
  28.  }  
Java代码   收藏代码
  1.  @Override  
  2.  public Object setProperty(String key, String value) {  
  3.   super.setProperty(key, value);  
  4.   try {  
  5.    //保存键值对  
  6.    this.store(new FileOutputStream(PropertiesConfig.configPath),  
  7.      "utf-8");  
  8.   } catch (FileNotFoundException e) {  
  9.    // TODO Auto-generated catch block  
  10.    e.printStackTrace();  
  11.   } catch (IOException e) {  
  12.    // TODO Auto-generated catch block  
  13.    e.printStackTrace();  
  14.   }  
  15.   return value;  
Java代码   收藏代码
  1.  }  
  2.    
  3.  public Object put(String key, String value) {  
  4.   super.put(key, value);  
  5.   try {  
  6.    //保存键值对  
  7.    this.store(new FileOutputStream(PropertiesConfig.configPath),  
  8.      "utf-8");  
  9.   } catch (FileNotFoundException e) {  
  10.    // TODO Auto-generated catch block  
  11.    e.printStackTrace();  
  12.   } catch (IOException e) {  
  13.    // TODO Auto-generated catch block  
  14.    e.printStackTrace();  
  15.   }  
  16.   return value; }  
  17. }  

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics