Java实现的读取资源文件工具类ResourcesUtil实例【可动态更改值的内容】
作者:CharlinGod 发布时间:2022-01-15 17:27:12
标签:Java,资源文件,工具类
本文实例讲述了Java实现的读取资源文件工具类ResourcesUtil。分享给大家供大家参考,具体如下:
package com.gcloud.common;
import java.io.Serializable;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.ResourceBundle;
import java.util.Set;
/**
* 资源文件读取工具类
*
*/
public class ResourcesUtil implements Serializable {
private static final String FILENAME = "conf.messages";
private static final long serialVersionUID = -7657898714983901418L;
/**
* 系统语言环境,默认为中文zh
*/
public static final String LANGUAGE = "zh";
/**
* 系统国家环境,默认为中国CN
*/
public static final String COUNTRY = "CN";
private static Locale getLocale() {
Locale locale = new Locale(LANGUAGE, COUNTRY);
return locale;
}
/**
* 根据语言、国家、资源文件名和key名字获取资源文件值
* @param baseName 资源文件名
* @param section key名字
* @return 值
*/
private static String getProperties(String baseName, String section) {
try {
ResourceBundle rb = ResourceBundle.getBundle(baseName, getLocale());
return (String) rb.getObject(section);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 通过key从资源文件读取内容
* @param fileName 资源文件名
* @param key 索引
* @return 索引对应的内容
*/
public static String getValue(String fileName, String key) {
return getProperties(fileName, key);
}
/**
* 获取默认
* @param key
* @return
*/
public static String getValue(String key) {
return getProperties(FILENAME, key);
}
public static List<String> getKeyList(String baseName) {
ResourceBundle rb = ResourceBundle.getBundle(baseName, getLocale());
List<String> reslist = new ArrayList<String>();
Set<String> keyset = rb.keySet();
for (Iterator<String> it = keyset.iterator(); it.hasNext();) {
String lkey = (String) it.next();
reslist.add(lkey);
}
return reslist;
}
/**
* 通过key从资源文件读取内容,并格式化
* @param fileName 资源文件名
* @param key 索引
* @param objs 格式化参数
* @return 格式化后的内容
*/
public static String getValue(String fileName, String key, Object[] objs) {
String pattern = getValue(fileName, key);
return MessageFormat.format(pattern, objs);
}
public static void main(String[] args) {
//908=操作成功{0}条,失败{1}条,<a href=\"{2}\" target=\"_blank\">点击查看失败信息</a>
System.out.println(getValue("conf.messages", "908", new Object[] { 100, 200 }));
}
}
希望本文所述对大家java程序设计有所帮助。
来源:http://blog.csdn.net/lovoo/article/details/77918369


猜你喜欢
- package 斐波那契数;import java.util.Scanner;class 斐波那契数 { public static voi
- 数据类型转换就是将数据(变量、表达式的结果)从一种类型转换到另一种类型。例如,为了保存小数你可以将int类型的变量转换为double类型。数
- 在微服务中,需要我们在各个微服务中共享Session,使用Redis来共享Session是一个很好的解决方法,Redis是运行在内存中,查取
- 配置文件-yaml在spring Boot开发中推荐使用yaml来作为配置文件。基本语法:key: value;kv之间有空格大小写敏感使用
- 介绍本篇主要介绍kafka的 * 和序列化器,序列化器是和数据在网络中的传输有关,数据在网络中的传输为字节流,所以生产者在发送时需要将其序列
- Java:对象创建和初始化过程1.Java中的数据类型 Java中有3个数据类型:基本数据类型(在Jav
- 最近有小伙伴告诉我,在循环的判断条件只会计算一次,本金鱼不相信,于是就做了测试,本文记录我做的测试。先来写一个简单的代码, 就一个循环,循环
- 本文研究的主要是利用spring的 * 自定义缓存的实现,具体实现代码如下所示。Memcached 是一个高性能的分布式内存对象缓存系统,用
- 这是一个运用网格布局来做的简易计算器,可能没有那么美观,大家可以继续完善首先先看看成果吧首先先建一个新的Project Calculator
- 1. Collection是集合类的一个顶级接口,其直接继承接口有List与Set。Collection
- 为了防止用户或者测试MM疯狂的点击某个button,写个方法防止按钮连续点击。具体实例代码如下所示:public class B
- 关于tomcat热部署on ‘update' action:【update】时,执行的操作。on frame deactivatio
- 调用Bmob第三方服务器实现短信验证的功能,大致思路如下:随机产生6位数字,然后调用Bmob的请求短发函数发送者六位数到服务器,然后服务器给
- 前言最近VS2019正式版发布了,装下来顺便试用了一下C#8.0,最大的看点应该就是可空引用类型了。不过C#8.0仍然处于Beta的状态,而
- 一、基本概念:线程、进程1.1、进程与线程的具体介绍线程(thread),进程可进一步细化为线程,是一个程序内部的一条执行路径。若一个进程同
- 本文介绍了SpringBoot结合SpringSecurity实现图形验证码功能,分享给大家,具体如下:生成图形验证码根据随机数生成图片将随
- 为了保证服务的高可用,及时发现问题,迅速解决问题,为应用添加log是必不可少的。但是随着项目的增大,方法增多,每个方法加单独加日志处理会有很
- WinForm RichTextBox文本动态滚动显示文本方在RichTextBox动态显示一些文本信息时,需要一些设置,显示当前要显示的字
- 简要:EigenFace是基于PCA降维的人脸识别算法,PCA是使整体数据降维后的方差最大,没有考虑降维后类间的变化。 它是将图像
- 本文实例讲述了C#实现程序等待延迟执行的方法。分享给大家供大家参考。具体如下:[System.Runtime.InteropServices