-、 放在res中的properties文件的读取,例如对放在assets目录中的setting.properties的读取:
PS:之所以这里只是有读取操作,而没有写的操作,是因为我发现不能对res下的资源文件进行操作,当然包括assets下的properties文件了。如对res资源目录下的properties进行写的操作,那么在你获得properties的FileOutputStream的实例时会报FileNotFoundException的异常。
代码如下(操作写成一个PropertiesUtil工具类):
setting.properties中的代码:

url=http://localhost:8080

PropertiesUtil 工具类:

public class PropertiesUtil {
private static Properties urlProps;
        public static Properties getProperties(Context c){
Properties props = new Properties();
try {
//方法一:通过activity中的context攻取setting.properties的FileInputStream
InputStream in = c.getAssets().open(" setting.properties ");
//方法二:通过class获取setting.properties的FileInputStream
//InputStream in = PropertiesUtill.class.getResourceAsStream("/assets/  setting.properties ")); 
props.load(in);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
 
urlProps = props;
//测试是否能获得setting.properties中url的值
System.out.println(urlProps.getProperty("url"));
        return urlProps;
}
 
}
二、对不是放在res资源目录下的properties文件的操作,如放在activity 的 包(package)目录下的setting.properties文件的读写操作。
setting.properties的代码还是一样的,只是路径不同,而是在activity的包(如:com.jansun.activity)目录下:

url=http://localhost:8080

PropertiesUtil工具类:

public class PropertiesUtil {
 
private static Properties urlProps;
private static final path = "/data/data/com.jansun.activity/setting.properties";
//private FileUtils fu = new FileUtils();
public static Properties getProperties(){
Properties props = new Properties();
try {
InputStream in = new FileInputStream(getSettingFile());
props.load(in);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
 
urlProps = props;
return urlProps;
}
 
public static void setProperties( String param, String value ){
Properties props = new Properties();
try {
props.load(new FileInputStream( getSettingFile() ));
 
OutputStream out = new FileOutputStream(FileUtils.setting);
Enumeration<?> e = props.propertyNames();
if(e.hasMoreElements()){
while(e.hasMoreElements()){
String s = (String)e.nextElement();
if(!s.equals(param))
props.setProperty(s, props.getProperty(s));
}
}
props.setProperty(param, value);
props.store(out, null);
//测试是否能够打印出最新的,刚刚修改的url的值
//System.out.println("setProperty success: " + props.getProperty(param));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
 
private static File getSettingFile(){
File setting = new File(path);
if(!setting.exists()) setting.createNewFile();
return setting;
}
}

Android 对 properties文件的读写操作的更多相关文章

  1. android报错及解决2--Sdcard进行文件的读写操作报的异常

    报错描述: 对Sdcard进行文件的读写操作的时候,报java.io.FileNotFoundException: /sdcard/testsd.txt (Permission denied),在往S ...

  2. java 文件的读写操作

    java  文件的读写操作 一.读: public String getSetting() { HttpServletRequest request=org.apache.struts2.Servle ...

  3. INI 文件的读写操作

    在C#中对INI文件进行读写操作,在此要引入using System.Runtime.InteropServices; 命名空间,具体方法如下: #region 变量 private static r ...

  4. Java程序员的日常—— Properties文件的读写

    在日常的Java程序开发中,Properties文件的读写是很常用的.经常有开发系统通过properties文件来当做配置文件,方便用户对系统参数进行调整. 那么本片就来简单的介绍下,如何使用Prop ...

  5. C++学习48 对ASCII文件的读写操作

    如果文件的每一个字节中均以ASCII代码形式存放数据,即一个字节存放一个字符,这个文件就是ASCII文件(或称字符文件).程序可以从ASCII文件中读入若干个字符,也可以向它输出一些字符. 对ASCI ...

  6. Delphi- ini文件的读写操作

    一.读INI文件示例 procedure TForm1.FormCreate(Sender: TObject); Var MyIni :Tinifile; glAppPath :string; beg ...

  7. java文件的读写操作

    java文件的读写操作主要是对输入流和输出流的操作,由于流的分类很多,所以概念很容易模糊,基于此,对于流的读写操作做一个小结. 1.根据数据的流向来分: 输出流:是用来写数据的,是由程序(内存)--- ...

  8. K:java中properties文件的读写

    Properties类与.properties文件:   Properties类继承自Hashtable类并且实现了Map接口,也是使用一种键值对的形式来保存属性集的类,不过Properties有特殊 ...

  9. python使用装饰器对文件进行读写操作'及遍历文件目录

    '''使用装饰器对文件进行读写操作''' # def check_permission(func): # '''演示嵌套函数定义及使用''' # def wrapper(*args,**kwargs) ...

随机推荐

  1. 【bzoj3771】【xsy1728】Triple

    [bzoj3771][xsy1728] 题意 求\(\sum_{i}[a_i=S]+\sum_{i<j}[a_i+a_j=S]+\sum_{i<j<k}[a_i+a_j+a_k=S] ...

  2. ASP.NET中EVAL用法大全

    <%# Bind("Subject") %> //绑定字段<%# Container.DataItemIndex + 1%> //实现自动编号<%# ...

  3. WPF:xmal 静动态资源

    <StackPanel.Resources> <SolidColorBrush x:Key="myBrush" Color="Teal"/&g ...

  4. hdu---(1280)前m大的数(计数排序)

    前m大的数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  5. HDUOJ-------2493Timer(数学 2008北京现场赛H题)

    Timer Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  6. 重载Array类的contains方法

    var allFilters = self.filtersContainer?.filters ?? [OpalFilter]() if let sorter = filtersContainer?. ...

  7. 关于gridview 实现查询功能的方法

    protected void btnSearch_Click(object sender, EventArgs e) { TestCon(); } protected void btnAllData_ ...

  8. Div样式查看器

    编写div属性时,经常需要尝试不同的样式,可以用Javascript写一个简单的div样式查看器,方便日常操作: <!DOCTYPE html> <html> <head ...

  9. 【转载】如何在德州仪器网站查找和下载PCB封装

    德州仪器的网站做得相当不错,查找IC资料和下载IC封装样样给力.那么如何在TI网站上能够快速查找到自已需要的PCB封装呢?下面我来告诉你. 1.       在浏览器中输入网址http://weben ...

  10. javascript 数组操作 转

    javascript之数组操作 1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一 ...