android中读取properties文件

java中经常用到properties文件,然后通过使用Properties类来解析,这里不再陈述使用properties文件的好处,主要探讨如何在android中使用properties文件! 

方法一:context.getAssets() 

因为最终是通过流文件来进行properties文件读取的,所以很自然,我们想到要将文件放入到assets文件夹或者raw文件夹中了。 

例如,我们这里有一个文件——>test.properties,如果放入了/app/src/main/assets文件夹中,可以如下打开 

Java代码 

Properties pro = new Properties();  
InputStream is = context.getAssets().open("test.properties");   
pro.load(is);  


如果放入到/app/src/main/res/raw文件夹中,可以通过如下方式打开 

InputStream is = context.getResources().openRawResource(R.raw.test); 

但是,有的时候我们不想获取android的上下文环境(context),而是像java中标准的方法加载properties文件,那么我们如何使用呢?请看 

方法二:FileLoad.class.getResourceAsStream 没有上下文的加载![推荐方式] 

Java代码 

Properties pro = new Properties();  
pro.load(FileLoad.class.getResourceAsStream("test.properties"));  

 

如果要读取android系统中的properties文件。则通过

File propertyFlie = new File(filepath);比如“/cache”
inputStream = new FileInputStream(propertyFlie);
properties.load(inputStream);


其中,FileLoad是该加载方法所在类的类名。test.properties所存放的路径与FileLoad.java为同一包中。 

但是,在android中,当我们打包生成apk后,将apk放入到真正的手机上时,你会找不到test.properties文件,不要惊讶,android中的资源文件是只能存放在assets或者res的子目录里面的,程序包中的资源文件编译后,是会丢失的!那么是不是我们的第二种方法就没法使用了? 当然不是,经过实验发现,将文件放入到assets文件夹里,而在传入路径里面填入文件绝对路径,还是可以引用该文件的。 
Java代码 

 

pro.load(FileLoad.class.getResourceAsStream("/assets/test.properties"));  



注意:其中工程路径的根路径为"/"

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值