java读取properties配置文件的几种方式

java读取properties配置文件的几种方式项目中经常将一些配置信息放到 properties 文件中 读取非常方便 下面介绍几种 java 读取 properties 配置文件的方式 先看示例的 properties 文件 方法一 基于 InputStream 读取配置文件 publicstatic String args readProperty 方法一

项目中经常将一些配置信息放到properties文件中,读取非常方便,下面介绍几种java读取properties配置文件的方式。先看示例的properties文件:

java读取properties配置文件的几种方式

方法一,基于InputStream读取配置文件:

 public static void main(String[] args) { readProperty1(); } //方法一 private static void readProperty1() { Properties properties = new Properties(); InputStream inputStream = Object.class.getResourceAsStream("/code.properties"); try { properties.load(inputStream); } catch (IOException e) { e.printStackTrace(); } System.out.println(properties.get("warshipType.1")); }

执行后,结果如下:

java读取properties配置文件的几种方式

 发现是乱码,分析后发现properties文件默认的用的GBK编码的,所以需要用GBK解码,代码修改如下:

java读取properties配置文件的几种方式

发现properties.load(inputStreamReader);这句代码报红,分析发现是java编译版本的问题,如图:

java读取properties配置文件的几种方式

原来需要1.6以上的版本,修改后,如图:

 

 

 

java读取properties配置文件的几种方式

最后,执行程序,结果如图:

java读取properties配置文件的几种方式

方法二,通过Spring中的PropertiesLoaderUtils工具类进行获取:

 //方法二 private static void readProperty2() { Properties properties = new Properties(); try { properties = PropertiesLoaderUtils.loadAllProperties("code.properties"); System.out.println(new String(properties.getProperty("warshipType.2").getBytes("iso-8859-1"), "gbk")); } catch (IOException e) { e.printStackTrace(); } }

执行结果如图:

java读取properties配置文件的几种方式

顺便介绍一下遍历取值的方法:

 //方法二 private static void readProperty2() { Properties properties = new Properties(); try { properties = PropertiesLoaderUtils.loadAllProperties("code.properties"); //遍历取值 Set  objects = properties.keySet(); for (Object object : objects) { System.out.println(new String(properties.getProperty((String) object).getBytes("iso-8859-1"), "gbk")); } } catch (IOException e) { e.printStackTrace(); } } 

执行结果如图:

java读取properties配置文件的几种方式

方法三,通过 java.util.ResourceBundle 类读取:

 //方法三 private static void readProperty3() { ResourceBundle resourceBundle = ResourceBundle.getBundle("code"); //遍历取值 Enumeration enumeration = resourceBundle.getKeys(); while (enumeration.hasMoreElements()) { try { String value = resourceBundle.getString((String) enumeration.nextElement()); System.out.println(new String(value.getBytes("iso-8859-1"), "gbk")); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } }

执行结果如图:

java读取properties配置文件的几种方式

文中根据本人编译环境做了转码,大家可以根据自己实际情况灵活处理,不足之处请斧正。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/206184.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午4:16
下一篇 2026年3月19日 下午4:16


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号