读取配置文件已经成了Java程序员工作的一项必备技能。
配置文件的优点:

可维护性好

怎么个可维护性好呢?

  1. 它会让程序中变化的地方很灵活的配置,不需要修改代码。
  2. Java程序部署到服务器上去之后就变成了class文件,修改困难,通过配置文件我们就可以灵活地改变程序中需要变化的地方。比如说写一个发送邮件的程序,就可以将收件人写在配置文件中,不必每次编译代码。
  3. 假如过了很久,项目经理觉得有些地方需要改,以发邮件为例,现在需要给大boss也发邮件,而自己手头又没有代码,通过配置文件只需要修改配置文件即可。

废话不多说,直接进入主题,如何通过Java读取配置文件,其实很简单。

配置文件

name=刘德华
pwd=123456

代码如下

package com.myutils.prop;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Properties; public class PropertiesUtil { private static Properties _prop = new Properties(); /**
* 读取配置文件
* @param fileName
*/
public static void readProperties(String fileName){
try {
InputStream in = PropertiesUtil.class.getResourceAsStream("/"+fileName);
BufferedReader bf = new BufferedReader(new InputStreamReader(in));
_prop.load(bf);
}catch (IOException e){
e.printStackTrace();
}
} /**
* 根据key读取对应的value
* @param key
* @return
*/
public static String getProperty(String key){
return _prop.getProperty(key);
}
}

测试

package com.myutils.prop;

import org.junit.Test;

/**
* Created by GWCheng on 2015/12/29.
*/
public class PropertiesUtilTest{ @Test
public void testReadProp() {
PropertiesUtil.readProperties("test.properties");
System.out.println(PropertiesUtil.getProperty("name"));
System.out.println(PropertiesUtil.getProperty("pwd"));
}
}

为什么没有设置值的方法呢?

因为配置文件一般都是只读的,需要设置的话,已经部署到服务器上去了,停掉服务,然后修改配置文件,就可以了。

读取配置文件的工具类先写到这里。

参考文献

  1. Java读取properties文件中文乱码问题解决    http://bu-choreography.iteye.com/blog/1136047

Java读取property配置文件的更多相关文章

  1. java读取properties配置文件总结

    java读取properties配置文件总结 在日常项目开发和学习中,我们不免会经常用到.propeties配置文件,例如数据库c3p0连接池的配置等.而我们经常读取配置文件的方法有以下两种: (1) ...

  2. Java读取properties配置文件工具类

    1.   PropertyUtils.java package javax.utils; import java.io.InputStream; import java.util.Properties ...

  3. java读取properties配置文件信息

    一.Java Properties类 Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置 ...

  4. Java 读取 .properties 配置文件的几种方式

    Java 开发中,需要将一些易变的配置参数放置再 XML 配置文件或者 properties 配置文件中.然而 XML 配置文件需要通过 DOM 或 SAX 方式解析,而读取 properties 配 ...

  5. java读取.properties配置文件的几种方法

    读取.properties配置文件在实际的开发中使用的很多,总结了一下,有以下几种方法(仅仅是我知道的):一.通过jdk提供的java.util.Properties类.此类继承自java.util. ...

  6. Java 读取 .properties 配置文件

    java 开发中,经常要读取 properties 配置文件,下面介绍几种读取方式: 1.基于 InputStream 读取配置文件 该方式的优点在于可以读取任意路径下的配置文件 Properties ...

  7. 【转载】java读取.properties配置文件的几种方法

    读取.properties配置文件在实际的开发中使用的很多,总结了一下,有以下几种方法(仅仅是我知道的):一.通过jdk提供的java.util.Properties类.此类继承自java.util. ...

  8. Java读取Properties配置文件

    1.Properties类与Properties配置文件 Properties类继承自Hashtable类并且实现了Map接口,使用键值对的形式来保存属性集.不过Properties的键和值都是字符串 ...

  9. java读取property文件

    property文件中: url = jdbc:mysql://localhost:3306/resume   user= root   pwd = 123 java代码读取:       packa ...

随机推荐

  1. Swift 入门之简单语法(六)

    KVC 字典转模型构造函数 /// `重写`构造函数 /// /// - parameter dict: 字典 /// /// - returns: Person 对象 init(dict: [Str ...

  2. [转]ef使用dbfirst方式连接mysql

    为了学习ORM,选择了EntityFramework,经历了三天两夜的煎熬,N多次错误,在群里高手的帮助下,终于成功,现在将我的心路历程记录下来,一是让自己有个记录,另外就是让其它人少走些弯路. 我的 ...

  3. ArrayList构造方法源码分析

    首先看一下无参的构造方法: private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {}; transient Object ...

  4. Lambda类库篇 —— Streams API, Collector和并行

    本文是深入理解Java 8 Lambda系列的第二篇,主要介绍Java 8针对新增语言特性而新增的类库(例如Streams API.Collectors和并行). 本文是对 Brian Goetz 的 ...

  5. C# 特性参数(注解属性加在参数前面)

    特性参数 webapi 框架里有很多特性参数,为了解除一些新人的疑惑,写个小例子分享下. class Program { static void Main(string[] args) { var m ...

  6. 03 编译安装apache的简易配置

    1.监听端口,默认为80,在主配置文件 /etc/httpd24/httpd.conf中可以更改 2.持久连接 Include /etc/httpd24/extra/httpd-default.con ...

  7. Python 操作 Azure Blob Storage

    笔者在<Azure 基础:Blob Storage>一文中介绍了 Azure Blob Storage 的基本概念,并通过 C# 代码展示了如何进行基本的操作.最近笔者需要在 Linux ...

  8. 关于前后端同构,我的一点思路和心得(vue、nodejs、react、模版、amd)

    最近1年多,前后端同构慢慢变成一个流行词,也许很多人还停留在前后端分离的最佳实践道路上,但实际上又有一批人已经从简单的服务端渲染走向探索最佳前后端同构方案的路上了.不过,我只是膜拜后者的过客. 虽然大 ...

  9. PHP:win7 ASP.NET环境与PHP(WAMP)环境如何共存

    经验地址:http://jingyan.baidu.com/article/495ba8410f794d38b30ede89.html 笔记本以前安装过asp.net,启用了Windows的IIS服务 ...

  10. [0] CollectionBase与索引符DictionaryBase与迭代器

    对于简单数组来说,需要用固定的大小来初始化,才能使用: Animal[] myAnimal=new Animal[10]; myAnimal[0]=new Cow("Ken"); ...