android 读取assets目录中的文件配置信息
程序员文章站
2022-06-16 20:02:11
...
示例:
assets/payconfig.txt
#文件内容:
ShowAlipay=true
ShowWeChat=true
读取配置:
private void Example()
{
AssetProperty config = new AssetProperty(context, "payconfig.txt");
String ShowAlipay = config.getConfig("ShowAlipay", ""); // 读取配置信息
// 备注:直接在文件目录下添加文件,getAssets().open()可能会报错: java.io.FileNotFoundException: payconfig.txt
// 在assets中添加配置文件,需选中assets文件夹(右键)-> New -> File -> 输入文件名(payconfig.txt)-> Finish
}
AssetProperty:
package com.joymeng.payment.util;
import java.io.InputStreamReader;
import java.util.Properties;
import android.content.Context;
import android.util.Log;
/** AssetProperty.java: 读取assets目录中的配置文件信息----- 2018-2-27 下午8:08:10 */
public class AssetProperty
{
// 示例:
private void Example()
{
// assets目录下的文件如: assets/payconfig.txt
// #文件内容:
// ShowAlipay=true
// ShowWeChat=true
AssetProperty config = new AssetProperty(context, "payconfig.txt");
String ShowAlipay = config.getConfig("ShowAlipay", "true"); // 读取配置信息
// 备注:直接在文件目录下添加文件,getAssets().open()可能会报错: java.io.FileNotFoundException: payconfig.txt
// 在assets中添加配置文件,需选中assets文件夹(右键)-> New -> File -> 输入文件名(payconfig.txt)-> Finish
}
// -------------------------------
String filepath = ""; // assets目录下的文件如: assets/payconfig.txt
Context context;
Properties prop = null;
/** 创建AssetProperty */
public AssetProperty(Context context, String filepath)
{
this.context = context;
this.filepath = filepath;
if (prop == null) prop = getAssetsProperty(context, filepath);
}
/** 读取AssetProperty中的配置信息 */
public String getConfig(String name, String defval)
{
if (prop == null)
return defval;
else return prop.getProperty(name, defval);
}
/** 读取Assest文件夹下资源,返回Properties */
public static Properties getAssetsProperty(Context context, String filepath)
{
try
{
Properties prop = new Properties();
InputStreamReader reader = new InputStreamReader(context.getAssets().open(filepath), "UTF-8");
prop.load(reader); // uses-sdk android:minSdkVersion="9"
reader.close();
return prop;
}
catch (Exception e)
{
Log.e("AssetProperty", e.toString());
}
return null;
}
}