java读取properties文件总结
一、java读取properties文件总结
在java项目中,操作properties文件是经常要做的,因为很多的配置信息都会写在properties文件中,这里主要是总结使用getResourceAsStream方法和InputStream流去读取properties文件,使用getResourceAsStream方法去读取properties文件时需要特别注意properties文件路径的写法,测试项目如下:

/* 范例名称:java读取properties文件总结
* 源文件名称:PropertiesFileReadTest.java
* 要 点:
* 1. 使用getResourceAsStream方法读取properties文件
* 2. 使用InPutStream流读取properties文件
* 3. 读取properties文件的路径写法问题
*
**/
package propertiesFile.read.test; import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.text.MessageFormat;
import java.util.Properties; public class PropertiesFileReadTest {
public static void main(String[] args) throws FileNotFoundException {
readPropFileByGetResourceAsAtream();
System.out.println("--------------");
//readPropFileByInPutStream();
} /*
* 使用getResourceAsAtream方法读取
*/
private static void readPropFileByGetResourceAsAtream() {
/*
* 读取src下面config.properties包内的配置文件 test1.properties位于config.properties包内
*/
InputStream inl = PropertiesFileReadTest.class.getClassLoader()
.getResourceAsStream("config/properties/test1.properties"); /*
* 读取和PropertiesFileReadTest类位于同一个包里面的配置文件
* test2.properties和PropertiesFileReadTest类在同一个包内
*/
InputStream in2 = PropertiesFileReadTest.class.getResourceAsStream("test2.properties"); /*
* 读取src根目录下文件的配置文件 jdbc.properties位于src目录
*/
InputStream in3 = PropertiesFileReadTest.class.getClassLoader().getResourceAsStream("jdbc.properties"); /*
* 读取位于另一个source文件夹里面的配置文件 config是一个source文件夹,config.properties位于config
* source文件夹中
*/
InputStream in4 = PropertiesFileReadTest.class.getClassLoader().getResourceAsStream("config.properties"); Properties properties = new Properties();
System.out.println("----使用getResourceAsStream方法读取properties文件----"); // 从输入字节流读取属性列表(键,值)
try {
System.out.println("-----------------------");
properties.load(inl);
System.out.println("test1.properties:name=" + properties.getProperty("name") + ",age="
+ properties.getProperty("age"));
System.out.println("-----------------------");
System.out.println("-----------------------");
properties.load(in2);
System.out.println("test2.properties:name=" + properties.getProperty("name") + ",age="
+ properties.getProperty("age"));
System.out.println("-----------------------");
properties.load(in3);
System.out.println("jdbc.properties:");
// 使用指定的格式字符串和参数返回格式化的字符串, 这里的%s是java String占位符
System.out.println(String.format("jdbc.url=%s", properties.getProperty("jdbc.url")));
System.out.println(String.format("jdbc.usename=%s", properties.getProperty("jdbc.usename")));
System.out.println(String.format("jdbc.password=%s", properties.getProperty("jdbc.password")));
properties.load(in4);
System.out.println("config.properties:");
// 使用给定的模式创建一个MessageFormat,并使用它来格式化给定的参数,{0}是一个java的字符串占位符
System.out.println(MessageFormat.format("dbuser={0}", properties.getProperty("dbuser")));
System.out.println(MessageFormat.format("dbpassword={0}", properties.getProperty("dbpassword")));
System.out.println(MessageFormat.format("database={0}", properties.getProperty("database")));
System.out.println("----------------------------------------------"); } catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
if(inl != null) {
try {
inl.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(in2 != null) {
try {
inl.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(in3 != null) {
try {
inl.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(in4 != null) {
try {
inl.close();
} catch (IOException e) {
e.printStackTrace();
}
} }
}
/*
* 使用InputStream流读取properties
*/
private static void readPropFileByInPutStream() throws FileNotFoundException {
InputStream in1=null;
InputStream in2=null;
InputStream in3=null;
InputStream in4=null;
System.out.println("----使用InputStream流读取properties文件----");
try {
/*
* 读取src下面config.properties包内的配置文件 test1.properties位于config.properties包内
*/ in1 =new BufferedInputStream(new FileInputStream("src/config/properties/test1.properties"));
/*
* 读取和PropertiesFileReadTest类位于同一个包里面的配置文件
* test2.properties和PropertiesFileReadTest类在同一个包里面
*/
in2=new BufferedInputStream(new FileInputStream("src/propertiesFile/read/test/test2.properties"));
/*
* 读取src根目录下文件的配置文件
* jdbc.properties位于src目录
*/
in3 = new BufferedInputStream(new FileInputStream("src/jdbc.properties"));
/*
* 读取位于另一个source文件夹里面的配置文件
* config是一个source文件夹,config.properties位于config source文件夹中
*/
in4 = new FileInputStream("config/config.properties"); Properties properties=new Properties(); System.out.println("-----------------------");
properties.load(in1);
System.out.println("test1.properties:name=" + properties.getProperty("name") + ",age="
+ properties.getProperty("age"));
System.out.println("-----------------------");
System.out.println("-----------------------");
properties.load(in2);
System.out.println("test2.properties:name=" + properties.getProperty("name") + ",age="
+ properties.getProperty("age"));
System.out.println("-----------------------");
properties.load(in3);
System.out.println("jdbc.properties:");
// 使用指定的格式字符串和参数返回格式化的字符串, 这里的%s是java String占位符
System.out.println(String.format("jdbc.url=%s", properties.getProperty("jdbc.url")));
System.out.println(String.format("jdbc.usename=%s", properties.getProperty("jdbc.usename")));
System.out.println(String.format("jdbc.password=%s", properties.getProperty("jdbc.password")));
properties.load(in4);
System.out.println("config.properties:");
// 使用给定的模式创建一个MessageFormat,并使用它来格式化给定的参数,{0}是一个java的字符串占位符
System.out.println(MessageFormat.format("dbuser={0}", properties.getProperty("dbuser")));
System.out.println(MessageFormat.format("dbpassword={0}", properties.getProperty("dbpassword")));
System.out.println(MessageFormat.format("database={0}", properties.getProperty("database")));
System.out.println("----------------------------------------------"); } catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
if (in1 != null) {
try {
in1.close();
} catch (IOException e) {
e.printStackTrace();
}
} if (in2 != null) {
try {
in2.close();
} catch (IOException e) {
e.printStackTrace();
}
} if (in3 != null) {
try {
in3.close();
} catch (IOException e) {
e.printStackTrace();
}
} if (in4 != null) {
try {
in4.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} }
java读取properties文件总结的更多相关文章
- java分享第十六天( java读取properties文件的几种方法&java配置文件持久化:static块的作用)
java读取properties文件的几种方法一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取Propert ...
- 用java读取properties文件--转
今天为了通过java读取properties文件,google了很长时间,终于找到了.现在特记录之和大家一起分享. 下面直接贴出代码:java类 public class Mytest pub ...
- java 读取properties文件总结
一.java读取properties文件总结 在java项目中,操作properties文件是经常要做的,因为很多的配置信息都会写在properties文件中,这里主要是总结使用getResource ...
- java基础学习总结——java读取properties文件总结
摘录自:http://www.cnblogs.com/xdp-gacl/p/3640211.html 一.java读取properties文件总结 在java项目中,操作properties文件是经常 ...
- java读取properties文件时候要注意的地方
java读取properties文件时,一定要注意properties里面后面出现的空格! 比如:filepath = /home/cps/ 我找了半天,系统一直提示,没有这个路径,可是确实是存在的, ...
- java基础—java读取properties文件
一.java读取properties文件总结 在java项目中,操作properties文件是经常要做的,因为很多的配置信息都会写在properties文件中,这里主要是总结使用getResource ...
- Java基础学习总结(15)——java读取properties文件总结
一.java读取properties文件总结 在java项目中,操作properties文件是经常要做的,因为很多的配置信息都会写在properties文件中,这里主要是总结使用getResource ...
- java读取.properties文件
在web开发过程中,有些配置要保存到properties文件里,本章将给出一个工具类,用来方便读取properties文件. 案例: 1:config.properties文件 name=\u843D ...
- Java 读取Properties文件时应注意的路径问题
1. 使用Class的getResourceAsStream()方法读取Properties文件(资源文件)的路径问题: InputStream in = this.getClass().getRe ...
随机推荐
- postfix+自签证书,实现加密传输
说明:当前在centos 6.x环境下: cd /etc/pki/tls/misc ./CA -newca ..... 生成根证书 openssl req -new -nodes -keyout ma ...
- Tensorboard在Win7下chrome无论如何无法连接的情况
后记:其实发现原因后感觉自己很蠢,是自己开了一个软件叫adsafe,会屏蔽一些东西,所以我拼命的用自己的电脑ip都连不上,换成回环地址就好了,把软件关了也可以. 在无数种尝试后,终于在stackove ...
- Ubuntu修改mysql编码格式
今天在Ubuntu系统上部署了第一个net core的web网站,遇到了mysql入库数据乱码的情况.无奈,ubuntu系统不熟悉,mysql命令不熟悉,只得在网上查找各种资料.还是老规矩,主要参考的 ...
- fiddler替换服务器上文件进行本地调试
在我们前端开发的日常工作中,发现服务器上某个css/javascript文件有问题,需要修改,那真是家常便饭.通常,我们需要将文件进行修改,然后重新发布再验证,这样就很容易影响到生产环境的稳定性.更普 ...
- IntelliJ IDEA 17 创建maven项目
参考博客: https://yq.aliyun.com/articles/111053# 部署服务器时 没有Tomcat Server选项
- 基础篇-1.5Java的数组
1 引言 每一种编程语言都有其自身的数组概念,大同小异,都是为了存储一堆数据,而Java的数组是用来存储相同类型的数据,如声明一个arr[10]数组,可以用来代替声明10个变量. 2 声明和创建数组 ...
- pytorch 常用问题解决
1.RuntimeError: cuda runtime erorr (77): an illegal memory access was encountered at 在使用命令前面加上CUDA_L ...
- vue自定义指令之拖动页面的元素
此案例中,用到了鼠标事件onmousedown.onmousemove.onmouseup 源代码如下: <!doctype html><html lang="en&quo ...
- jsp页面_按回车键触发事件
一般在列表页面中,都会带有查询按钮,当输入完查询条件后,如果需要通过鼠标点击"查询"按钮才发起查询,那么就感觉不够方便,那么我们就可以修改为按下回车键的时候发起查询. <sc ...
- SAS之大话PDV
SAS之大话PDV 之所以说是数据源,而非输入缓冲区的原因上一条推送已经说明,这里就不再啰嗦啦. 这里我们且将DATA步流程简单地分为从数据源读入到pdv和从pdv写入数据集. IF语句 & ...