Java读取property配置文件

news/2024/7/5 5:10:39

读取配置文件已经成了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{@Testpublic 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

转载于:https://www.cnblogs.com/yangyi9343/p/5846236.html


http://lihuaxi.xjx100.cn/news/242515.html

相关文章

ueditor php 附件,ueditor单独调用上传附件和图片的功能

第一步, 引入文件第二步 html元素调用的页面:上传图片上传文件第三步 编写js代码var _editor;$(function() {//重新实例化一个编辑器,防止在上面的editor编辑器中显示上传的图片或者文件_editor UE.getEditor(upload_ue);_editor.ready(function () {//…

python的turtle绘图体系入门必看(一)

1 设置窗体 turtle.setup(width,height,startx,starty) 说明: setup()函数不是必须的前两个参数代表窗体的横向宽与纵向长后两个参数可选,表示窗体距离屏幕的横向距离和纵向距离(也可以理解为窗体左上角距离屏幕左上角的横向和纵向距离&…

Vue 源码阅读(三)Special Attributes

Special Attributes 包括以下:key ref slot v-* key https://vuejs.org/v2/api/#key The key special attribute is primarily used as a hint for Vue’s virtual DOM algorithm to identify VNodes when diffing the new list of nodes against the old list. Wit…

软件测试培训教程:pytest与unittest区别

在软件测试培训教程中,会讲到关于pytest与unittest区别,那么本期教程小编就为大家详细的介绍一下pytest与unittest区别有哪些? pytest与unittest区别: 一、用例编写规则 1.unittest提供了testcases、testsuites、testfixtures、testrunner相…

php签名是做什么用的,这个签名在PHP中意味着什么()?

在PHP的语法中,这意味着该函数返回引用而不是值.例如:$foo foo;function & get_foo_ref (){global $foo;return $foo;}// Get the reference to variable $foo stored into $bar$bar & get_foo_ref();$bar bar;echo $foo; // Outputs bar, since $bar re…

python库引用的3种方式比较

方法一 import 库名 使用方式&#xff1a; <库名>.<函数名>(<函数参数>) 方法二 from 库名 import 函数名/* 使用方式&#xff1a; <函数名>(<函数参数>) 第一种方法可以避免第三方库函数和自定义函数重名 第二种更简洁&#xff0c;适用于引用…

谱聚类(Spectral clustering)(2):NCut

作者&#xff1a;桂。 时间&#xff1a;2017-04-13 21:19:41 链接&#xff1a;http://www.cnblogs.com/xingshansi/p/6706400.html 声明&#xff1a;欢迎被转载&#xff0c;不过记得注明出处哦~ 前言 本文为谱聚类的第二篇&#xff0c;主要梳理NCut算法&#xff0c;关于谱聚类…

LSB图像信息隐藏算法matlab,实验二LSB信息隐藏实验.doc

实验二LSB信息隐藏实验.doc实验二LSB信息隐藏实验综合评分:【实验目的】&#xff1a;掌握MATLAB基木操作实现LSB信息隐藏和提取【实验内容】&#xff1a;(请将你实验完成的项11涂“■“)实验完成形式&#xff1a;■用MATLAB函数实现LSB信息隐藏和提取□其它&#xff1a;(请注明…