获得资源文件的key和value

package com.util;

import java.util.Enumeration;
import java.util.Locale;
import java.util.Properties;
import java.util.ResourceBundle;
import java.text.MessageFormat;

/**
 * 获得配置资源(默认的为src/properties/message.properties文件)中的key的value信息
 * 也可用Utility.setResourcePath(resourcePathStr)来改变资源的位置
 * @author Administrator
 *
 */

public class Utility {
 
 public static final String module = Utility.class.getName();

 // store resource bundle(默认放在properties文件夹下的message.properties文件中)
 private static String csResourcePath = "properties.message";

 public static String getResourcePath() {
  
  return csResourcePath;
 }

 public static void setResourcePath(String asResourcePath) {
  csResourcePath = asResourcePath;
 }

 /**
  * Gary: get user locale from langcd
  * @param asLangCd:国家语言参数
  * @return
  */
 public static Locale getUserLocale(String asLangCd) {
  Locale lsUserLocale = Locale.ENGLISH;
  if (asLangCd.equals("zht"))
   lsUserLocale = Locale.TRADITIONAL_CHINESE;
  else if (asLangCd.equals("zhs"))
   lsUserLocale = Locale.SIMPLIFIED_CHINESE;
  else if (asLangCd.equals("en"))
   lsUserLocale = Locale.ENGLISH;

  return lsUserLocale;
 }

 public static Locale getUserLocale() {
  //the default locale is SIMPLIFIED_CHINESE
  return Locale.SIMPLIFIED_CHINESE;
 }

 /**
  * Gary: Functions to get message from resource
  * @param asKey
  * @param asLangCd
  * @return
  */
 public static String getMessage(String asKey) {
  return getMessage(asKey, getUserLocale());
 }

 public static String getMessage(String asKey, String asLangCd) {
  return getMessage(asKey, getUserLocale(asLangCd));
 }

 public static String getMessage(String asKey, Locale asLocale) {
  ResourceBundle bundle = ResourceBundle.getBundle(Utility
    .getResourcePath(), asLocale);
  return bundle.getString(asKey);
 }

 public static String getMessage(String asKey, String asLangCd, String arg0,
   String arg1, String arg2) {
  return getMessage(asKey, getUserLocale(asLangCd), arg0, arg1, arg2);
 }

 public static String getMessage(String asKey, Locale asLocale, String arg0,
   String arg1, String arg2) {
  String msg = getMessage(asKey, asLocale);
  String[] messageArgs = new String[3];
  messageArgs[0] = arg0;
  messageArgs[1] = arg1;
  messageArgs[2] = arg2;
  return MessageFormat.format(msg, messageArgs);
 }

 public static boolean isEmpty(String string) {
  boolean isEmpty = true;
  if (string != null && !"".equals(string) && string.trim().length() > 0)
   isEmpty = false;
  return isEmpty;
 }
 
 
 /**
  * 自己的
  * 加载配置文件中的所有键值对,并保存在Properties中
  * @param propertyFileName:属性文件名
  * @return
  * 如getBundlePros("properties/email"); //在src/properties包下的email.properties文件
 
 public Properties getBundleProps(String propertyFileName){
  Properties props = new Properties();
  ResourceBundle bundle =  ResourceBundle.getBundle(propertyFileName.trim());
  Enumeration enume = bundle.getKeys();
  String key = "";
  String value = "";
  while(enume.hasMoreElements()){
   key = (String)enume.nextElement();
   value = bundle.getString(key.toString());
         props.put(key, value);
         }
  return props;
 }
 */
}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码源,以适应各平台技术的最新发展和市场需求。
要解析文件中的key-value并将其保存到内存中,我们可以按照以下步骤进行: 1. 打开文件:首先,我们需要使用适当的文件操作函数打开目标文件,可以使用"Open"函数来实现。在打开文件时,我们需要指定读取文件的模式,例如只读模式("r")或读写模式("r+")。 2. 解析文件:在获得文件的句柄后,我们可以按行读取文件内容。可以使用文件操作函数"readline"逐行读取文件内容,并将每一行的key-value解析出来。解析的方式取决于文件结构和数据的格式。常见的解析方式是使用字符串分割函数(如split)根据特定的分隔符将每行字符串分割成keyvalue。 3. 创建内存数据结构:在解析文件的过程中,我们可以使用某种数据结构来保存key-value对。常见的数据结构有字典(dictionary)或哈希表(hashmap)。字典是由key-value对组成的无序集合,每个key一对应一个value。可以使用Python内置的字典类型来保存解析得到的键对。 4. 存储键对:在解析过程中,将每行解析出来的键对保存到内存中的数据结构中。可以使用字典的"update"函数或直接通过给字典赋的方式来存储键对。 5. 关闭文件:在所有的键对都成功保存到内存中后,我们需要关闭文件,以便释放源。可以使用文件操作函数"close"来关闭文件句柄。 通过以上步骤,我们可以将文件中的键对解析并保存到内存中的数据结构中,以便在后续的程序中可以方便地使用和处理这些数据。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值