博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java读取配置文件*.property
阅读量:6818 次
发布时间:2019-06-26

本文共 3674 字,大约阅读时间需要 12 分钟。

hot3.png

package mmboa.util;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.util.Properties;/** * 读取properties文件 * @author  Qutr  */public class Configuration{	private Properties propertie;	private FileInputStream inputFile;	private FileOutputStream outputFile;	/** */	/**	 * 	 * 初始化Configuration类	 */	public Configuration()	{		propertie = new Properties();	}	/** */	/**	 * 	 * 初始化Configuration类	 * 	 * @param filePath	 *            要读取的配置文件的路径+名称	 */	public Configuration(String filePath)	{		propertie = new Properties();		try {						inputFile = new FileInputStream(this.getClass().getResource("/").getPath()+filePath);			propertie.load(inputFile);			inputFile.close();		} catch (FileNotFoundException ex) {			System.out.println("读取属性文件--->失败!- 原因:文件路径错误或者文件不存在");			ex.printStackTrace();		} catch (IOException ex) {			System.out.println("装载文件--->失败!");			ex.printStackTrace();		}	}// end ReadConfigInfo()	/** */	/**	 * 	 * 重载函数,得到key的值	 * 	 * @param key	 *            取得其值的键	 * 	 * @return  key的值	 */	public String getValue(String key)	{		if (propertie.containsKey(key)) {			String value = propertie.getProperty(key);// 得到某一属性的值			return value;		}		else			return "";	}// end getValue()	/** */	/**	 * 	 * 重载函数,得到key的值	 * 	 * @param fileName	 *            properties文件的路径+文件名	 * 	 * @param key	 *            取得其值的键	 * 	 * @return  key的值	 */	public String getValue(String fileName, String key)	{		try {			String value = "";			inputFile = new FileInputStream(fileName);			propertie.load(inputFile);			inputFile.close();			if (propertie.containsKey(key)) {				value = propertie.getProperty(key);				return value;			} else				return value;		} catch (FileNotFoundException e) {			e.printStackTrace();			return "";		} catch (IOException e) {			e.printStackTrace();			return "";		} catch (Exception ex) {			ex.printStackTrace();			return "";		}	}// end getValue()	/** */	/**	 * 	 * 清除properties文件中所有的key和其值	 */	public void clear()	{		propertie.clear();	}// end clear();	/** */	/**	 * 	 * 改变或添加一个key的值,当key存在于properties文件中时该key的值被value所代替,	 * 	 * 当key不存在时,该key的值是value	 * 	 * @param key	 *            要存入的键	 * 	 * @param value	 *            要存入的值	 */	public void setValue(String key, String value)	{		propertie.setProperty(key, value);	}// end setValue()	/** */	/**	 * 	 * 将更改后的文件数据存入指定的文件中,该文件可以事先不存在。	 * 	 * @param fileName	 *            文件路径+文件名称	 * 	 * @param description	 *            对该文件的描述	 */	public void saveFile(String fileName, String description)	{		try {			outputFile = new FileOutputStream(fileName);			propertie.store(outputFile, description);			outputFile.close();		} catch (FileNotFoundException e) {			e.printStackTrace();		} catch (IOException ioe) {			ioe.printStackTrace();		}	}// end saveFile()	public static void main(String[] args){	    Configuration rc = new Configuration(".\\config\\save.perperties");// 相对路径	    String personnelmail = rc.getValue("personnelmail");// 以下读取properties文件的值	    String presidentmail = rc.getValue("presidentmail");	    System.out.println("personnelmail="+personnelmail+"presidentmail="+presidentmail);//以下输出properties读出的值	    Configuration cf = new Configuration();	    String ipp = cf.getValue(".\\config\\test.properties", "ip");	    System.out.println("ipp = " + ipp);	    cf.clear();	    cf.setValue("min", "999");	    cf.setValue("max", "1000");	    cf.saveFile(".\\config\\save.perperties", "test");	    Configuration saveCf = new Configuration();	    saveCf.setValue("min", "10");	    saveCf.setValue("max", "1000");//	    saveCf.saveFile(".\\config\\save.perperties");	 }// end main()}

 

转载于:https://my.oschina.net/u/4006148/blog/2253989

你可能感兴趣的文章
配置php开发环境
查看>>
函数的调用过程(栈帧)
查看>>
MySQL主从复制与lvs+keepalived单点写入读负载均衡高可用实验【转】
查看>>
SOA面向服务化编程架构(dubbo)
查看>>
sphinx全文索引开源
查看>>
junit测试套件
查看>>
向一个网站发请求的几种方式
查看>>
UVA - 10245 The Closest Pair Problem
查看>>
利用Bootstrap制作一个流行的网页
查看>>
大型网站架构 图片服务器分离
查看>>
【设计模式】迭代器模式(Iterator )
查看>>
Linux ssh安全设置
查看>>
LVM逻辑卷管理
查看>>
ubuntu:重装之后软件安装流程
查看>>
python读写不同编码txt文件
查看>>
Linux 基本命令(持续更新ing)
查看>>
java基础必备单词讲解 day six
查看>>
第7章 SpringMVC高级技术
查看>>
C语言结构体里的成员数组和指针
查看>>
【转】AlphaGo Zero 和强人工智能
查看>>