注意:

  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文件相关推荐

  1. java中读取properties文件内容五种方式

    一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC ...

  2. SpringMVC通过注解方式读取properties文件中的值

    为什么80%的码农都做不了架构师?>>>    本方法是结合Java配置及XML配置来完成. 首先定义XML配置文件 app.xml: <?xml version=" ...

  3. Java基础学习总结(15)——java读取properties文件总结

    2019独角兽企业重金招聘Python工程师标准>>> 一.java读取properties文件总结 在java项目中,操作properties文件是经常要做的,因为很多的配置信息都 ...

  4. 读取properties文件

    为什么80%的码农都做不了架构师?>>>    Java 开发中,需要将一些易变的配置参数放置再 XML 配置文件或者 properties 配置文件中.然而 XML 配置文件需要通 ...

  5. Java项目中读取properties文件,以及六种获取路径的方法

    下面1-4的内容是网上收集的相关知识,总结来说,就是如下几个知识点: 最常用读取properties文件的方法 InputStream in = getClass().getResourceAsStr ...

  6. 用java读取properties文件--转

    今天为了通过java读取properties文件,google了很长时间,终于找到了.现在特记录之和大家一起分享.      下面直接贴出代码:java类 public class Mytest pu ...

  7. Spring 如何读取properties文件内容

    http://hi.baidu.com/alizv/blog/item/d8cb2af4094662dbf3d38539.html 在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配置 ...

  8. java properties 路径问题_Java 读取Properties文件时应注意的路径问题

    Java读取properties文件的方法比较多,网上最多的文章是"Java读取properties文件的六种方法",但在Java应用中,最常用还是通过java.lang.Clas ...

  9. Java-马士兵设计模式学习笔记-观察者模式-读取properties文件改成单例模式

    一.概述 1.目标:读取properties文件改成单例模式 二.代码 1.Test.java 1 class WakenUpEvent{ 2 3 private long time; 4 priva ...

最新文章

  1. 2022-2028年全球与中国乳胶丝市场研究及前瞻分析报告
  2. LeetCode 287. 寻找重复数
  3. mysql读写分离 存储过程_基于maxscale的读写分离部署笔记
  4. sql server2000中如何自动杀死死锁进程
  5. Java SE 和 Java EE 的区别
  6. Windows10 查看电脑关机时间(提交忘记打卡申请必备)
  7. 最新 EDK2 实验
  8. VTK:交互与拾取——点拾取
  9. html table边框加粗,table加边框记录
  10. 好看的皮囊千篇一律,有趣的灵魂万里挑一
  11. POJ - 4048 Chinese Repeating Crossbow 暴力枚举+线段香蕉?
  12. html 穿越星空效果,html5 canvas绚丽3d星空飞行穿梭动画特效
  13. 【大咖有约】白帽汇邓焕:大数据下的攻防
  14. 用WPF做报表控件(四)
  15. 利用SwitchyOmega和Jmeter实现Jmeter录制功能
  16. com surrogate 占用过高CPU
  17. 如何设置网页标签的LOGO
  18. 电脑蓝屏代码错误分析及解决方案
  19. 在线网络考试测评系统开发
  20. saleae逻辑分析仪-串口

热门文章

  1. QTP模拟鼠标和键盘事件整理
  2. 在MyEclipse中如何查看Spring/Hibernate/Struts/JDK等源码的方法
  3. JRuby 1.6.5发布 Ruby语言的Java实现
  4. 简练软考知识点整理-公邀竞单询其
  5. 一个数据库的所见即所得的好工具
  6. 监控 MySQL的多种方法
  7. libiconv字符集转换库在C#中的使用
  8. 该内存不能为read解决办法
  9. screen的一些常用命令和快捷键
  10. 有没有网上python一对一-使用Python的Tornado框架实现一个一对一聊天的程序