java property文件6_六种获取配置properties文件的方法

总结一下六种获取配置properties文件的方法,代码如下:

package com.xujingyang.test ;

import java.io.BufferedInputStream ;

import java.io.FileInputStream ;

import java.io.InputStream ;

import java.util.Locale ;

import java.util.Properties ;

import java.util.PropertyResourceBundle ;

import java.util.ResourceBundle ;

import org.junit.Test ;

/**

* @descript 六种获取配置文件的方法,注意各种的路径的问题

* @author xujingyang

* @time 2017年5月15日下午4:23:18

*/

public class TestReadProperties {

/**

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

*/

@Test

public void read1(){

try {

InputStream stream=new BufferedInputStream(new FileInputStream("src/my.properties"));

Properties p=new Properties();

p.load(stream);

String name = p.get("name").toString() ;

String age = p.get("age").toString() ;

System.out.println(name+":"+age) ;

} catch (Exception e) {

e.printStackTrace();

}

}

/**

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

*/

@Test

public void read2(){

try {

ResourceBundle bundle = ResourceBundle.getBundle("my", Locale.getDefault()) ;

String name = bundle.getString("name");

String age = bundle.getString("age");

System.out.println(name+":"+age) ;

} catch (Exception e) {

e.printStackTrace();

}

}

/**

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

*/

@Test

public void read3(){

try {

InputStream stream=new BufferedInputStream(new FileInputStream("src/my.properties"));

ResourceBundle bundle=new PropertyResourceBundle(stream);

String name = bundle.getString("name");

String age = bundle.getString("age");

System.out.println(name+":"+age) ;

} catch (Exception e) {

e.printStackTrace();

}

}

/**

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

*/

@Test

public void read4(){

try {

InputStream stream = TestReadProperties.class.getResourceAsStream("/my.properties") ;

Properties p=new Properties();

p.load(stream);

String name = p.get("name").toString() ;

String age = p.get("age").toString() ;

System.out.println(name+":"+age) ;

} catch (Exception e) {

e.printStackTrace();

}

}

/**

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

*/

@Test

public void read5(){

try {

InputStream stream = TestReadProperties.class.getClassLoader().getResourceAsStream("my.properties") ;

Properties p=new Properties();

p.load(stream);

String name = p.get("name").toString() ;

String age = p.get("age").toString() ;

System.out.println(name+":"+age) ;

} catch (Exception e) {

e.printStackTrace();

}

}

/**

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

*/

@Test

public void read6(){

try {

InputStream stream = ClassLoader.getSystemResourceAsStream("my.properties");

Properties p=new Properties();

p.load(stream);

String name = p.get("name").toString() ;

String age = p.get("age").toString() ;

System.out.println(name+":"+age) ;

} catch (Exception e) {

e.printStackTrace();

}

}

}

配置文件:

8dcaeb99df4830c7abae906340f26280.png

name的值是小明,这里配置文件会自动编码

补充:

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

示例:InputStream in = context.getResourceAsStream(path);

Properties p = new Properties();

p.load(in);

SpringMVC加载配置Properties文件的几种方式

最近开发的项目使用了SpringMVC的框架,用下来感觉SpringMVC的代码实现的非常优雅,功能也非常强大, 网上介绍Controller参数绑定.URL映射的文章都很多了,写这篇博客主要总结一下 ...

springboot-项目获取resources下文件的方法

spring项目获取resources下文件的方法   最近写读取模板文件做一些后续的处理,将文件放在了项目的resources 下,发现了一个好用的读取方法:   比如上边是你需要读取的文件:  读 ...

解决IntelliJ IDEA无法读取配置*.properties文件的问题

idea对这些配置的文件方式很明显和eclipse是不同的.在idea中有一个 Content Roots的概念.需要为每一个folder配置相应的Content Roots.Content Root ...

JS读取.properties文件的方法

假设有JavaScript文件叫做:readproperties.js,这个文件需要读取config.properties这个配置文件,步骤如下: 1.  下载插件jquery.i18n.proper ...

在JavaScript文件中读取properties文件的方法

假设有JavaScript文件叫做:readproperties.js,这个文件需要读取config.properties这个配置文件,步骤如下: 1.  下载插件jquery.i18n.proper ...

java读取Properties文件的方法

resource.properties的内容: com.tsinkai.ettp.name=imooc com.tsinkai.ettp.website=www.imooc.com com.tsink ...

读取根目录src下的指定配置properties文件内容

代码如下: package com.chen.system.util; import java.io.File; import java.io.FileInputStream; import java ...

【java】获取解析资源文件的方法

关于资源文件的读取,有很多种方法,下面补充了多种方法 1.java.util.ResourceBundle 使用java自带的util包下的ResourceBundle类获取,使用方法最简单 //获取 ...

PHP获取目录和文件的方法

PHP获取当前目录和相对目录的方法<?php //获取当前文件所在目录,如果 A.php include B.php 则无论写在哪个文件里,都是表示 A.php 文件所在的目录 echo rea ...

随机推荐

首师大附中互测题:99999999海岛帝国后传:算法大会【D001】

[D001]99999999海岛帝国后传:算法大会[难度:D] ———————————————————————————————————————————————————————————————————— ...

Microsoft Enterprise Library 5&period;0 缓存配置

在使用企业库的缓存时遇到一个问题. 创建 cachingConfiguration 的配置节处理程序时出错: 未能加载文件或程序集“Microsoft.Practices.EnterpriseLibr ...

PHP trim&lpar;&rpar;函数的一些用法

string trim ( string $str [, string $charlist ] ) - 去除字符串首尾处的空白字符(或者其他字符) trim()函数当第二个参数为空时,默认去掉空格.制 ...

【汉诺塔问题】UVa 10795 - A Different Task

[经典汉诺塔问题] 汉诺(Hanoi)塔问题:古代有一个梵塔,塔内有三个座A.B.C,A座上有64个盘子,盘子大小不等,大的在下,小的在上.有一个和尚想把这64个盘子从A座移到B座,但每次只能允许移动 ...

ssh更改默认端口号及实现免密码远程登陆

近来在复习防火墙管理工具 iptables 的基本使用方法,涉及到对端口添加或删除防火墙策略的内容,之前对ssh更改默认端口号及免密码登录的方法不熟悉,这次做一个基本的总结防止自己遗忘. 错误偏差及其 ...

Java基础学习笔记八 Java基础语法之接口和多态

接口 接口概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”.接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成.这样将功能的定义 ...

laravel5&period;4 导出 Excel 表格

1.执行 composer require maatwebsite/excel 2. composer.json 文件出现(或者手动添加) 3.在config目录下 app.php 添加参数 4.导出 ...

webpack4 搭建遇到的奇葩问题集合

一.webpack4 打包es6 会报错 需要安装一下插件 https://blog.csdn.net/Beamon__/article/details/85048448二.webpack4 打包动态 ...

pwntools简介

安装binutils: git clone https://github.com/Gallopsled/pwntools-binutils sudo apt-get install software- ...

J2EE完全手册(二)

1.2 客户端 (Web客户端,应用程序客户端) 1.2.1 Web客户端: 一般简单讲,就是显示由在Web层的web组件中生成的包含Html 及 XML标记语言的动态Web页面(.jsp[.do]) ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值