ResourceUtils读取properties文件
注意:
properties文件要放在classPath下面,也就是与src下。
path.properties(在properties文件中\代表着没有完,下行同本行是一个内容)
perfectMaterial=fileLibrary/completeFile/perfectMaterial perfectMaterialPDF=fileLibrary/completeFile/perfectMaterialPDF promiseFile=fileLibrary/originalFile/promiseFile signatureFile=signature signatureBackupFile=signatureBackup investigatePicture=fileLibrary/originalFile/investigatePicture auditPicture=fileLibrary/originalFile/auditPicture auditReprt=fileLibrary/originalFile/auditReprt sevenMaterial=fileLibrary/originalFile/sevenMaterial sevenMaterialPdf=fileLibrary/originalFile/PDFFile/sevenMaterialPdf auditReportWordAndPdf=fileLibrary/originalFile/auditReportWordAndPdf jdbc.test=fileLibrary/originalFile/auditReportWordAndPdf hello=hell\onimei
ResourcesUtil.java
package Utils.ResourceUtil;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 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 language* 语言* * @param country* 国家* * @param baseName* 资源文件名* * @param section* key名字* * @return 值*/private static String getProperties(String baseName, String section) {String retValue = "";try {Locale locale = getLocale();ResourceBundle rb = ResourceBundle.getBundle(baseName, locale);retValue = (String) rb.getObject(section);} catch (Exception e) {e.printStackTrace();// TODO 添加处理 }return retValue;}/*** 通过key从资源文件读取内容* * @param fileName* 资源文件名* * @param key* 索引* * @return 索引对应的内容*/public static String getValue(String fileName, String key) {String value = getProperties(fileName,key);return value;}public static List<String> gekeyList(String baseName) {Locale locale = getLocale();ResourceBundle rb = ResourceBundle.getBundle(baseName, locale);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);String value = MessageFormat.format(pattern, objs);return value;}public static void main(String[] args) {System.out.println(getValue("resources.messages", "101",new Object[]{100,200}));//根据操作系统环境获取语言环境/*Locale locale = Locale.getDefault();System.out.println(locale.getCountry());//输出国家代码System.out.println(locale.getLanguage());//输出语言代码s//加载国际化资源(classpath下resources目录下的messages.properties,如果是中文环境会优先找messages_zh_CN.properties)ResourceBundle rb = ResourceBundle.getBundle("resources.messages", locale);String retValue = rb.getString("101");//101是messages.properties文件中的keySystem.out.println(retValue);//信息格式化,如果资源中有{}的参数则需要使用MessageFormat格式化,Object[]为传递的参数,数量根据资源文件中的{}个数决定String value = MessageFormat.format(retValue, new Object[]{100,200});System.out.println(value); */} }
测试代码
package Utils.ResourceUtil;import org.junit.Test;public class TestUtils {@Testpublic void Test1(){System.out.println(ResourcesUtil.getValue("path", "investigatePicture"));System.out.println(ResourcesUtil.getValue("path", "auditReprt"));System.out.println(ResourcesUtil.getValue("path", "jdbc.test")); System.out.println(ResourcesUtil.getProperties("path", "hello"));} }
结果:
fileLibrary/originalFile/investigatePicture
fileLibrary/originalFile/auditReprt
fileLibrary/originalFile/auditReportWordAndPdf
hellonimei (证明\是没完,将两行内容合并成一行)
ResourceUtils读取properties文件相关推荐
- java中读取properties文件内容五种方式
一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC ...
- SpringMVC通过注解方式读取properties文件中的值
为什么80%的码农都做不了架构师?>>> 本方法是结合Java配置及XML配置来完成. 首先定义XML配置文件 app.xml: <?xml version=" ...
- Java基础学习总结(15)——java读取properties文件总结
2019独角兽企业重金招聘Python工程师标准>>> 一.java读取properties文件总结 在java项目中,操作properties文件是经常要做的,因为很多的配置信息都 ...
- 读取properties文件
为什么80%的码农都做不了架构师?>>> Java 开发中,需要将一些易变的配置参数放置再 XML 配置文件或者 properties 配置文件中.然而 XML 配置文件需要通 ...
- Java项目中读取properties文件,以及六种获取路径的方法
下面1-4的内容是网上收集的相关知识,总结来说,就是如下几个知识点: 最常用读取properties文件的方法 InputStream in = getClass().getResourceAsStr ...
- 用java读取properties文件--转
今天为了通过java读取properties文件,google了很长时间,终于找到了.现在特记录之和大家一起分享. 下面直接贴出代码:java类 public class Mytest pu ...
- Spring 如何读取properties文件内容
http://hi.baidu.com/alizv/blog/item/d8cb2af4094662dbf3d38539.html 在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配置 ...
- java properties 路径问题_Java 读取Properties文件时应注意的路径问题
Java读取properties文件的方法比较多,网上最多的文章是"Java读取properties文件的六种方法",但在Java应用中,最常用还是通过java.lang.Clas ...
- Java-马士兵设计模式学习笔记-观察者模式-读取properties文件改成单例模式
一.概述 1.目标:读取properties文件改成单例模式 二.代码 1.Test.java 1 class WakenUpEvent{ 2 3 private long time; 4 priva ...
最新文章
- 2022-2028年全球与中国乳胶丝市场研究及前瞻分析报告
- LeetCode 287. 寻找重复数
- mysql读写分离 存储过程_基于maxscale的读写分离部署笔记
- sql server2000中如何自动杀死死锁进程
- Java SE 和 Java EE 的区别
- Windows10 查看电脑关机时间(提交忘记打卡申请必备)
- 最新 EDK2 实验
- VTK:交互与拾取——点拾取
- html table边框加粗,table加边框记录
- 好看的皮囊千篇一律,有趣的灵魂万里挑一
- POJ - 4048 Chinese Repeating Crossbow 暴力枚举+线段香蕉?
- html 穿越星空效果,html5 canvas绚丽3d星空飞行穿梭动画特效
- 【大咖有约】白帽汇邓焕:大数据下的攻防
- 用WPF做报表控件(四)
- 利用SwitchyOmega和Jmeter实现Jmeter录制功能
- com surrogate 占用过高CPU
- 如何设置网页标签的LOGO
- 电脑蓝屏代码错误分析及解决方案
- 在线网络考试测评系统开发
- saleae逻辑分析仪-串口