欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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;
	}
	
}