如何在Android开发中对properties文件进行读取

如题所述

通过流文件来进行properties文件读取的,要将文件放入到assets文件夹或者raw文件夹中.例如,我们这里有一个文件test.properties,如果放入了assets文件夹中,可以如下打开:

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

    如果放入到raw文件夹中,可以通过如下方式打开:

Java代码 

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

   
Java代码 

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


 
读写函数分别如下:

import java.io.FileInputStream; 
import java.io.FileOutputStream; 
import java.util.Properties; 
 
public Properties loadConfig(Context context, String file) { 
Properties properties = new Properties(); 
try { 
FileInputStream s = new FileInputStream(file); 
properties.load(s); 
} catch (Exception e) { 
e.printStackTrace(); 

return properties; 

 
public void saveConfig(Context context, String file, Properties properties) { 
try { 
FileOutputStream s = new FileOutputStream(file, false); 
properties.store(s, ""); 
} catch (Exception e){ 
e.printStackTrace(); 

}

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

使用方法如下:
写入配置:

Properties prop = new Properties();
prop.put("prop1", "abc");
prop.put("prop2", 1);
prop.put("prop3", 3.14);
saveConfig(this, "/sdcard/config.dat", prop);

读取配置:

Properties prop = loadConfig(this, "/sdcard/config.dat");
String prop1 = prop.get("prop1");

注:也可以用Context的openFileInput和openFileOutput方法来读写文件
此时文件将被保存在 /data/data/package_name/files下,并交由系统统一管理
用此方法读写文件时,不能为文件指定具体路径。
    在android中,当我们打包生成apk后,将apk放入到真正的手机上时,你会找不到test.properties文件,不要惊讶,android中的资源文件是只能存放在assets或者res的子目录里面的,程序包中的资源文件编译后,是会丢失的!那么是不是我们的第二种方法就没法使用了?当然不是,经过实验发现,将文件放入到assets文件夹里,而在传入路径里面填入文件绝对路径,还是可以引用该文件的.

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-05-02
android中读取properties就简单多了,不过不建议用properties 因为apk是要打包的,也就是说,properties文件要在你的应用程序发布之前打包进去 读取方式: 1. 将 properties文件复制到res/raw目录下 2. 调用android api 获取raw下的输入流 3.Propert...1751本回答被提问者采纳
第2个回答  2016-05-04

如何在Android开发中对properties文件进行读取
读取方式:1. 将 properties文件复制到res\/raw目录下 2. 调用android api 获取raw下的输入流 3.Properties pr = new Properties();try { pr.load(getResources().openRawResource(R.raw.test));\/\/resources中打开一个输入流,这个输入流就是你的properties文件 } catch (IOException e) { e...

如何在Android开发中对properties文件进行读取
通过流文件来进行properties文件读取的,要将文件放入到assets文件夹或者raw文件夹中.例如,我们这里有一个文件test.properties,如果放入了assets文件夹中,可以如下打开:Properties pro = new Properties(); InputStream is = context.getAssets().open("test.properties"); pro.load(is); 如果放入到r...

如何在Android开发中对properties文件进行读取
1 导入framework.jar包,前提是需要有源码编译环境,编译出来的framework链接文件。2 还有一种就是使用反射机制去使用SystemPorperties的方法:package com.as;import java.lang.reflect.Method;import android.util.Log;public class SystemPropertiesInvoke { private static final String TAG = "SystemProp...

急急急!!怎么让PROPERTIES文件在手机上应用(读取)?
方法一:因为最终是通过流文件来进行properties文件读取的,所以很自然,我们想到要将文件放入到assets文件夹或者raw文件夹中了。例如,我们这里有一个文件——>test.properties,如果放入了assets文件夹中,可以如下打开 Properties pro = new Properties();InputStream is = context.getAssets().open("test...

android 开发中使用绝对路径读写Properties文件的问题
你需要在saveConfig判断file是否存在,如果不存在,需要创建该file.

安卓编译时修改properties参数
在安卓编译时修改properties参数,需要在build.gradle文件中添加对应的配置,具体步骤如下:1、打开build.gradle文件,找到android节点下defaultConfig或者flavor节点下的相应配置。2、在配置中添加需要修改的properties参数。3、在命令行中执行编译命令时,添加需要修改的properties参数的值。

如何在android的代码中调用某个组件属性
设置工程A,右键->Properties->Android,将Is library项选中,然后Apply。在A工程的bin目录下能得到一个jar文件,可以copy到B工程中的libs目录下直接引用。如果能用jar当然最好,但是jar文件不能把res目录下的资源打包进去,所以才出现lib工程。创建和使用Android library工程 摘要: 创建library供多个工程...

androidstudio local.properties 变量 怎么使用
Android studio 自动生成,用于配置本地的 SDK、NDK 路径。(以我浅薄的见识,目前只看到这些作用,也许还有其他跟 SDK 路径类似的参数可以被配置到这里)题主说的“”跨设备开发“不知道是指运行的设备还是指开发的设备,如果是前者,并没有影响;如果是后者,你不用同步,as会自动生成,也没有影响。

Android studio怎么编辑properties语言国际化
进入到Android studio的开发的工具中,进行选中项目中的已经创建好的resource bundle的文件,进行单击下列的任意的文件。进入到一个properties的文件中之后,由于默认显示的是text窗口中,就需要先进行切换到resource bundle的文件当中。切换到resource bundle的当前的文件中之后,进行创建,进行点击当前的窗口中“...

...的时候一直卡住,看到有人说要修改idea.properties文件,
首先检查文件是否真的被占用了.(一般来说不是这个原因)a 关闭as.和文本编辑工具 b 打开资源管理器-->性能-->资源监视器-->检查磁盘活动 2. 检查文件的访问权限 有可能当前的系统用户对该文件没有修改权限 右键-->属性-->安全(检查当前用户是否有修改和写入的权限)

相似回答