2017.6.29 java读取.properties配置文件的几种方法
参考来自:http://www.cnblogs.com/s3189454231s/p/5626557.html
关于路径的解释:http://blog.csdn.net/bluishglc/article/details/38753047
0 获取InputStream的几种方式
项目结构:
//PropertiesWay.class.getResourceAsStream()最终调用是ClassLoader.getResourceAsStream()
1 InputStream inStream1 = PropertiesWay.class.getClassLoader().getResourceAsStream("../resource/test.properties");
InputStream inStream2 = ClassLoader.getSystemResourceAsStream("com/lyh/resource/test.properties");
InputStream inStream3 = new FileInputStream(new File("E:/lyh/file/workspace/ReadPropertiesFile/src/com/lyh/resource/test.properties"));
//servlet环境下还可以用context
//InputStream inStream4 = context.getResourceAsStream("/WEB-INF/config/login.conf");
//InputStream in = context.getResourceAsStream("filePath"); ////通过url获取
//URL url = new URL("path");
//InputStream inStream5 = url.openStream();
关于类名.class.getClassLoader.getSystemResourceAsStream和ClassLoader.getSystemResourceAsStream中,路径的解释可以参考:http://blog.csdn.net/bluishglc/article/details/38753047
简而言之就是:
类名.class.getClassLoader.getSystemResourceAsStream(path)中填写的path:以这个类的所在路径(这里是com.lyh.test)为基础。
ClassLoader.getSystemResourceAsStream(path)中填写的path:以classpath的路径(这里是src)为基础。
最重要的是:这里全是相对路径,所以开头不要加“/”。
如果不确定当前的classpath路径,可以通过如下代码获取:
PropertiesWay.class.getClassLoader().getResource("").toString();
1 通过jdk提供的java.util.Properties类
在操作之前,首先要读取配置文件,有两种方式:load和loadFromXML。
1.1 load
load有两个方法的重载:load(InputStream inStream)、load(Reader reader),所以,可根据不同的方式来加载属性文件。
1.1.1 load(InputStream inStream)
1 p.load(inStream);
2 System.out.println(p.getProperty("name"));
3 p.setProperty("name", "inStream changed");
1.1.2 load(Reader reader)
1.2 loadFromXML
2.通过java.util.ResourceBundle类读取
2.1 通过ResourceBundle.getBundle()
ResourceBundle是一个抽象类,这种方式来获取properties属性文件不需要加.properties后缀名,只需要文件名即可。
ResourceBundle resource = ResourceBundle.getBundle("com/mmq/test");//test为属性文件名,放在包com.mmq下,如果是放在src下,直接用test即可
2 String key = resource.getString("username");
2.2 从InputStream中读取
获取inputStream的方法和前面load中介绍的一样。
ResourceBundle resource = new PropertyResourceBundle(inStream);
2 String key = resource.getString("username");
2017.6.29 java读取.properties配置文件的几种方法的更多相关文章
- java读取.properties配置文件的几种方法
读取.properties配置文件在实际的开发中使用的很多,总结了一下,有以下几种方法(仅仅是我知道的):一.通过jdk提供的java.util.Properties类.此类继承自java.util. ...
- 【转载】java读取.properties配置文件的几种方法
读取.properties配置文件在实际的开发中使用的很多,总结了一下,有以下几种方法(仅仅是我知道的):一.通过jdk提供的java.util.Properties类.此类继承自java.util. ...
- java分享第十六天( java读取properties文件的几种方法&java配置文件持久化:static块的作用)
java读取properties文件的几种方法一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取Propert ...
- Java 读取 .properties 配置文件的几种方式
Java 开发中,需要将一些易变的配置参数放置再 XML 配置文件或者 properties 配置文件中.然而 XML 配置文件需要通过 DOM 或 SAX 方式解析,而读取 properties 配 ...
- Java 读取properties 配置文件的几种方式
基于ClassLoder读取配置文件 Properties properties = new Properties(); // 使用ClassLoader加载properties配置文件生成对应的输入 ...
- java读取properties文件的几种方法
一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取 Properties p=new Properties(); ...
- Java 读取 .properties 文件的几种方式
Java 读取 .properties 配置文件的几种方式 Java 开发中,需要将一些易变的配置参数放置再 XML 配置文件或者 properties 配置文件中.然而 XML 配置文件需要通过 ...
- java读取properties配置文件总结
java读取properties配置文件总结 在日常项目开发和学习中,我们不免会经常用到.propeties配置文件,例如数据库c3p0连接池的配置等.而我们经常读取配置文件的方法有以下两种: (1) ...
- Java 读取clob字段的几种方法
Java 读取clob字段的几种方法 一.第一种 Clob clob = rs.getClob("remark");//Java.sql.Clob String detailinf ...
随机推荐
- 第二届360杯全国大学生信息安全技术大赛部分解题思路(WEB安全)
第一题如下: 用burpsuit设置好代理后,点击发送验证码,可以看到如下: 然后go之后可以看到如下的验证码: 提交验证码后即可获得key 第二题如下: 通过/data/mysql_error_tr ...
- 兼容firstChild和firstElementChild
1.nextSibling和nextElementSibling 顾名思义,就是找下一个节点 nextSibling在低版本浏览器中可以顺利找到下一个元素节点,而在正常浏览器中找到的包含中间空格. n ...
- 汕头市队赛 SRM14 T1 计算几何瞎暴力
计算几何瞎暴力 (easy.pas/c/cpp) 128MB 1s 在平面上,给定起点和终点,有一面墙(看作线段)不能穿过,问从起点走到终点的最短路程. 输入格式 输入一行,包含8个用空格分隔的整数x ...
- gdb 脚本
不满足于一条一条执行命令,我们可以将命令写进脚本里面,连续执行, 1: gdb启动会在当前目录寻找.gdbinit文件,并读取里面的命令列表 2: 我们可以启动gdb 时,加-x cmd.gdb 来指 ...
- pycharm远程登录mysql
pycharm远程登录mysqlmysql远程登录需要修改配置文件:cd /etc/mysql/mysql.conf.d/sudo vim mysqld.cn修改bing-address=0.0.0. ...
- nginx部署web.py项目
= =测试环境直接就python index.py就好啦 生产环境nginx + web.py + uwsgi 安装uwsgi... pip install uwsgi 首先把自己的代码小改一下... ...
- OpenGL入门学习(三)
http://developer.178.com/201103/94954704639.html 在第二课中,我们学习了如何绘制几何图形,但大家如果多写几个程序,就会发现其实还是有些郁闷之处.例如:点 ...
- Kotlin来了
kotlin优点(主要是代码简洁度) 1.避免空指针异常,其次在一个文件中java方法必须写在class里面,而kotlin则没要求 2.在同一个文件中,有class a则不允许在class外的方法( ...
- POCO库中文编程参考指南(3)Poco::Net::Socket
POCO库中文编程参考指南(3)Poco::Net::Socket 作者:柳大·Poechant 博客:Blog.CSDN.net/Poechant 邮箱:zhongchao.ustc#gmail.c ...
- SpringBoot无XML配置
SpringBoot,自己研究了好几天,以前也是没有接触过这类的框架,不过原理吧,也就是那么些个原理,毕竟都是Spring开源下的子框架. 好了,回归正题,今天晚上研究了好久,写出来了无配置文件的ja ...