Java读取Properties文件的七种方法

摘要:
java有很多方法可以读取属性文件。看看以下七种方法。事实上,它们中的许多非常相似,可以概括为两种类型:首先,构造InputStream,然后调用Properties#load()来使用ResourceBundle。这主要用于国际化。

java读取properties文件有很多方法,看有人整理了如下7种。

其实很多都是大同小异,概括起来就2种:

  1. 先构造出一个InputStream来,然后调用Properties#load()
  2. 利用ResourceBundle,这个主要在做国际化的时候用的比较多。

例如:它能根据系统语言环境自动读取下面三个properties文件中的一个:

      • resource_en_US.properties
      • resource_zh_CN.properties
      • resource.properties

附上别人整理的6中方法...

1、使用java.util.Properties类的load()方法

InputStream in = new BufferedInputStream(new FileInputStream(name));
Properties p = new Properties();
p.load(in);

2、使用java.util.ResourceBundle类的getBundle()方法

ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault());

3、使用java.util.PropertyResourceBundle类的构造函数

InputStream in = new BufferedInputStream(new FileInputStream(name));
ResourceBundle rb = new PropertyResourceBundle(in);

4、使用class变量的getResourceAsStream()方法

InputStream in = JProperties.class.getResourceAsStream(name);//JProperties为当前类名
Properties p = new Properties();
p.load(in);

5、使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法

InputStream in = JProperties.class.getClassLoader().getResourceAsStream(name);
Properties p = new Properties();
p.load(in);

6、使用java.lang.ClassLoader类的getSystemResourceAsStream()静态方法

InputStream in = ClassLoader.getSystemResourceAsStream(name);
Properties p = new Properties();
p.load(in);

7、在Servlet中可以使用javax.servlet.ServletContext的getResourceAsStream()方法

InputStream in = context.getResourceAsStream(path);
Properties p = new Properties();
p.load(in);

参考资料:http://hi.baidu.com/hgd0324/item/1d5e923973b77c4d033edcaf

免责声明:文章转载自《Java读取Properties文件的七种方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C# dictionaryDevExpress GridView 整理(转)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Json Schema简介

1. 引言 什么是Json Schema? 以一个例子来说明 假设有一个web api,接受一个json请求,返回某个用户在某个城市关系最近的若干个好友。一个请求的例子如下: { "city" : "chicago", "number": 20, "user" : { "name":"Alex",...

EJBCA的安装(基于Ubuntu 16.04 LTS + wildfly8 + ejbca6.3.11 + jdk7)

前一段时间折腾了一下PKI,用EJBCA在研究院内网搭建了一个CA,目前是提供给手机端(安卓和IOS)来和服务器端(nginx + Java应用)做安全连接的(客户端和服务器端双向认证) 由于EJBCA官方的安装文档太不靠谱了,按照官方的文档来做的话会遇到各种坑, 所以记录一下我安装的过程.希望能给用到的人有一点帮助.  这里也贴一下官方的文档地址:htt...

二、给openTCS4.12做汉化

openTCS目前支持英语和德语 我们今天讲解如何汉化 1.修改配置文件 (1)修改openTCS-Kernel的配置文件(将语言改成chinese) (2) 修改openTCS-KernelControlCenter的配置文件 (3)修改openTCS-PlantOverview的配置文件 2.新增多语言资源文件 将项目中所有的资源文件都复制两份(下图只...

springboot多环境下的自定义配置文件,并读取到常量

import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.PropertySource; import org.springframework.stereotype.Com...

Resin学习之配置resin.properties

  Resin服务器的配置主要有两个文件:resin.properties for most common properties and resin.xml for full customization。Resin的配置最终都转化为resin.xml,其他配置文件主要为了保持配置的可管理性。一般情况下只需要修改resin.properties即可。   r...

Doris扩展能力 踏雪扬尘

目录 审计日志插件 Doris On ES 创建ES索引 Doris中创建ES外表 Doris output plugin Hive External Table of Doris Doris 插件框架 ODBC External Table Of Doris 调试工具 审计日志插件 Doris 的审计日志插件是在 FE 的插件框架基础上开发...