编程语言
首页 > 编程语言> > JAVA之IO技术相关Properties类 存储配置文件信息

JAVA之IO技术相关Properties类 存储配置文件信息

作者:互联网

package ioTest.io3;
/*
 * Properties存储配置文件信息
 * 1.文件信息---------------------------
 * 2.根据文件信息获取key和value---|流|
 * 3.将key,value的之对应存储到properties对象中
 */
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;

public class FileToPropertiesDemo {

	public static void main(String[] args) throws IOException {
		
		FileToPro2();
	}
	//将属性信息修改过后存储到文件中去
	public static void FileToPro2() throws IOException
	{
		//配置文件信息
		File confile=new File("F:\\configure.ini");
		//创建Properties对象
		Properties pro=new Properties();
		BufferedReader in=new BufferedReader(new FileReader(confile));
		pro.load(in);//加载配置信息
		System.out.println("the value of color:"+pro.getProperty("color"));
		pro.setProperty("color", "yellow");//做这样的改变后,并不能自动保存到文件中去
		//定义一下源
		//BufferedWriter writer=new BufferedWriter(new FileWriter(confile));
		FileOutputStream writer=new FileOutputStream(confile);
		pro.store(writer, "comments");
		writer.close();
		in.close();
	}
	//将配置文件信息存储到properties中,自然也可以存储到系統properties中
	public static void FileToPro() throws IOException
	{
		//配置文件信息
		File confile=new File("F:\\configure.ini");
		//创建Properties对象
		Properties pro=new Properties();
		if(confile.exists())
		{
			BufferedReader in=new BufferedReader(new FileReader(confile));
			String line;
			while((line=in.readLine())!=null)
			{
				String[] confinfo=line.split("=");
				pro.setProperty(confinfo[0], confinfo[1]);
			}
		}	
		System.out.println("the value of color:"+pro.getProperty("color"));
		//改变color的value值
		pro.setProperty("color", "yellow");//做这样的改变后,并不能自动保存到文件中去
		//流-目的
		BufferedWriter out= new BufferedWriter(new FileWriter(confile));
		//....这样比较麻烦啊,具体些在什么位置啊等等
		//...那么实际上properties类中对这些操作作了封转,看上面的一个函数
	}
}

标签:JAVA,java,pro,存储配置,confile,IO,import,new,Properties
来源: https://blog.51cto.com/u_15254659/2853617