Android程序配置文件使用

来源:互联网 发布:刷优酷视频 淘宝违规 编辑:程序博客网 时间:2024/06/05 07:44

 

Android下用Properties保存程序配置

标签: propertiesandroidexceptionstringfilexml
 27920人阅读 评论(8) 收藏 举报
 分类:
读写函数分别如下:

[java] view plain copy
  1. import java.io.FileInputStream;  
  2. import java.io.FileOutputStream;  
  3. import java.util.Properties;  
  4.   
  5. public Properties loadConfig(Context context, String file) {  
  6. Properties properties = new Properties();  
  7. try {  
  8. FileInputStream s = new FileInputStream(file);  
  9. properties.load(s);  
  10. catch (Exception e) {  
  11. e.printStackTrace();  
  12. }  
  13. return properties;  
  14. }  
  15.   
  16. public void saveConfig(Context context, String file, Properties properties) {  
  17. try {  
  18. FileOutputStream s = new FileOutputStream(file, false);  
  19. properties.store(s, "");  
  20. catch (Exception e){  
  21. e.printStackTrace();  
  22. }  
  23. }  

orz,是不是发现什么了?对了,这两个函数与Android一点关系都没有嘛。。
所以它们一样可以在其他标准的java程序中被使用
在Android中,比起用纯字符串读写并自行解析,或是用xml来保存配置,
Properties显得更简单和直观,因为自行解析需要大量代码,而xml的操作又远不及Properties方便

使用方法如下:
写入配置:
[java] view plain copy
  1. Properties prop = new Properties();  
  2. prop.put("prop1""abc");  
  3. prop.put("prop2"1);  
  4. prop.put("prop3"3.14);  
  5. saveConfig(this"/sdcard/config.dat", prop);  

读取配置:
[java] view plain copy
  1. Properties prop = loadConfig(this"/sdcard/config.dat");  
  2. String prop1 = prop.get("prop1");  

注:也可以用Context的openFileInput和openFileOutput方法来读写文件
此时文件将被保存在 /data/data/package_name/files下,并交由系统统一管理
用此方法读写文件时,不能为文件指定具体路径。


可以按照上面使用prop.set(Object obj);

也可以使用:

prop.setProperty(String keyname, String value)

下面注上int、String 的转换相关(不同的转换函数结果是略有不同的)。

int -> String

int i=12345;
String s="";
第一种方法:s=i+"";
第二种方法:s=String.valueOf(i);
这两种方法有什么区别呢?作用是不是一样的呢?是不是在任何下都能互换呢?

String -> int

s="12345";
int i;
第一种方法:i=Integer.parseInt(s);
第二种方法:i=Integer.valueOf(s).intValue();
这两种方法有什么区别呢?作用是不是一样的呢?是不是在任何下都能互换呢?

以下是答案:

第一种方法:s=i+"";   //会产生两个String对象
第二种方法:s=String.valueOf(i); //直接使用String类的静态方法,只产生一个对象

第一种方法:i=Integer.parseInt(s);//直接使用静态方法,不会产生多余的对象,但会抛出异常
第二种方法:i=Integer.valueOf(s).intValue();//Integer.valueOf(s) 相当于 new Integer(Integer.parseInt(s)),也会抛异常,但会多产生一个对象

--------------------------------------------------------------------
1如何将字串 String 转换成整数 int?

A. 有两个方法:

1). int i = Integer.parseInt([String]); 或
i = Integer.parseInt([String],[int radix]);

2). int i = Integer.valueOf(my_str).intValue();

注: 字串转成 Double, Float, Long 的方法大同小异.
2 如何将整数 int 转换成字串 String ?
A. 有叁种方法:

1.) String s = String.valueOf(i);

2.) String s = Integer.toString(i);

3.) String s = "" + i;

注: Double, Float, Long 转成字串的方法大同小异.



JAVA数据类型转换 

这是一个例子,说的是JAVA中数据数型的转换.供大家学习

package shenmixiaozhu;
import java.sql.Date;
public class TypeChange {
   public TypeChange() {
   }
   //change the string type to the int type
   public static   int stringToInt(String intstr)
   {
     Integer integer;
     integer = Integer.valueOf(intstr);
     return integer.intValue();
   }
   //change int type to the string type
   public static String intToString(int value)
   {
     Integer integer = new Integer(value);
     return integer.toString();
   }
   //change the string type to the float type
   public static   float stringToFloat(String floatstr)
   {
     Float floatee;
     floatee = Float.valueOf(floatstr);
     return floatee.floatValue();
   }
   //change the float type to the string type
   public static String floatToString(float value)
   {
     Float floatee = new Float(value);
     return floatee.toString();
   }
   //change the string type to the sqlDate type
   public static java.sql.Date stringToDate(String dateStr)
   {
     return   java.sql.Date.valueOf(dateStr);
   }
   //change the sqlDate type to the string type
   public static String dateToString(java.sql.Date datee)
   {
     return datee.toString();
   }

   public static void main(String[] args)
   {
     java.sql.Date day ;
     day = TypeChange.stringToDate("2003-11-3");
     String strday = TypeChange.dateToString(day);
     System.out.println(strday);
   }
}
JAVA中常用数据类型转换函数
虽然都能在JAVA API中找到,整理一下做个备份。

0 0
原创粉丝点击