java属性文件properties常用操作工具类

对于java.util.Properties类,通常我们只需要做到以下3个学习目标:

1、认识properties文件,理解其含义,会正确创建properties文件。

2、会使用java.util.Properties类来操作properties文件。

3、掌握相对路径,能正确书写一个properties文件的相对路径。

而在平时的工作中,会遇到各种各样的需求,以下是一个封装。

package com.herman.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

/**
 * properties 文件操作工具类
 * @author Herman.Xiong
 * @date 2015-1-29 下午04:27:19
 * @version V3.0
 * @since jdk 1.6,tomcat 6.0
 */
public class PropertiesUtil {
	private static Properties prop = new Properties();
	private static InputStream in;
	private static final String path="src/com/herman/config/conf.properties";

	/**
	 * 加载
	 */
	static{
		init();
	}

	/**
	 * 初始化
	 */
	private static void init(){
		try {
			in=new FileInputStream(new File(path));
			prop.load(in);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * 关闭InputStream
	 * @author Herman.Xiong
	 * @date 2015-1-30 上午09:41:04
	 */
	private static void close(){
		try {
			if(null != in)
				in.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * 重新加载Properties
	 * @author Herman.Xiong
	 * @date 2015-1-30 上午09:41:04
	 */
	public static void reload(){
		close();
		prop.clear();//清除所有装载的 键 - 值对
		init();
	}

	/**
	 * 删除所有键值
	 * @author Herman.Xiong
	 * @date 2015-1-30 上午09:42:04
	 */
	public static void removeAll(){
		close();
		File file=new File(path);
		if(file.exists())
			file.delete();
		try {
			if(!file.exists())
				new File(path).createNewFile();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	/**
	 * 输出所有内容到控制台
	 * @author Herman.Xiong
	 * @date 2015-1-30 上午09:42:33
	 */
	public static void outList(){
		prop.list(System.out);
	}

	public static void main(String[] args) {
		System.out.println(prop.getProperty("abc"));
		outList();
		reload();
		outList();
		removeAll();
		System.out.println("重新加载.....");
		outList();
	}
}

欢迎大家关注我的博客!如有疑问,请加QQ群:135430763共同学习!

时间: 2024-10-21 18:18:24

java属性文件properties常用操作工具类的相关文章

JAVA FileUtils(文件读写以及操作工具类)

转别人的合并的链接 //https://www.cnblogs.com/chenhuan001/p/6575053.html //https://blog.csdn.net/lovoo/article/details/77899627 第一个链接找不到了作者看见了说一下我给你上链接(但是你的名字信息没改哈!!) package com; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import

//读取配置文件(属性文件)的工具类-ConfigManager

package com.pb.news.util; import java.io.IOException;import java.io.InputStream;import java.sql.ResultSet;import java.util.Properties; //读取配置文件(属性文件)的工具类public class ConfigManager { private static ConfigManager configManager; //properties.load(InputS

Java笔记十二.常用API-Hashtable类及其与HashMap、HashSet的区别

常用API-Hashtable类及其与HashMap.HashSet的区别 一.Hashtable<K,V>类 1.概述 Hashtable是一种高级数据结构,实现了一个Key-Value映射的哈希表,用以快速检索数据.Hashtable不仅可以像Vector一样动态存储一系列的对象,而且对存储的每一个值对象(值)都安排与另一个键对象(关键字)相关联,非null对象都可以被使用作为键对象或者值对象.为了能够成功从hashtable中存储和读取对象元素,实现键对象的类必须实现hashCode方法

Spring中属性文件properties的读取与使用

实际项目中,通常将一些可配置的定制信息放到属性文件中(如数据库连接信息,邮件发送配置信息等),便于统一配置管理.例中将需配置的属性信息放在属性文件/WEB-INF/configInfo.properties中. 其中部分配置信息(邮件发送相关): Java代码 #邮件发送的相关配置 email.host = smtp.163.com email.port = xxx email.username = xxx email.password = xxx email.sendFrom = xxx@16

Spring中使用属性文件properties的两种方式

实际项目中,通常将可配置的参数放到属性文件中,例如数据库连接信息.redis连接信息等,便于统一管理.然后通过IoC框架spring将其加载到上下文中,使得程序可以直接使用. 创建mysql.properties文件,并置于CLASSPATH路径中,如果使用maven构建工程,直接放置在resources文件夹下.文件内容: mysql.url=jdbc:mysql://192.168.1.101:3306/demo mysql.username=rootmysql.password=12345

java属性文件读取,属性修改

/** * 属性文件读取 * @author bestmata * */ public class CommUtil { private static Logger logger=Logger.getLogger(CommUtil.class); private Properties getAttionReplyPro(){ try { InputStream in=CommUtil.class.getResourceAsStream("attionReply.properties")

java 读取文件的常用方式

1.读取: public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件. */ public static void readFileByBytes(String fileName) { File file = new File(fileName); InputStream in = null; try { System.out.println("以字节为单位读取文件内容,一次读一个字节:"); // 一次读一

C# 文件操作 常用的类

File------实用类,提供许多静态方法,用于移动.删除.和复制文件. Directory------实用类,提供许多静态方法,用于移动.删除和复制目录. Path------ 实用类,用于处理路径名称. FileInfo------表示磁盘上的物理文件,具有可以处理此文件的方法,要完成对文件的读写工作,就必须创建Stream对像. DirectoryInfo------表示磁盘上的物理目录,具有可以处理此目录的方法 FileStream-------表示可以被写或被读,或二者都可的文件,此

最全面的Java字节byte操作,处理Java基本数据的转换及进制转换操作工具,流媒体及java底层开发项目常用工具类

前言:用于处理Java基本数据的转换及进制转换操作工具 一.实现功能 1.int预byte互转 2.int与byte[]互转 3.short与byte互转 4.short与byte[]互转 5.16位short与byte[]互转 6.long预byte[]互转 7.byte[]与inputstream互转 8.byte与String互转 9.16进制字符转int 10.十进制转2进制 11.byte[]转16进制字符 12.byte[]数组指定位置抽取byte[] 二.代码实现 package