properties类及其子类用法

在读取系统属性,环境变量,properties文件,简单的xml文件中,我们经常使用properties类

package demo4;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FilterOutputStream;
import java.io.IOException;
import java.util.Enumeration;
import java.util.InvalidPropertiesFormatException;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Properties;

public class Test1 {
	/*读取环境变量*/
	public void environment(){
		Map<String,String> env=System.getenv();
		for(Entry<String, String> entry:env.entrySet()){
			System.out.println("key:"+entry.getKey()+"\t");
			System.out.println("value:"+entry.getValue()+"\n");
		}
		System.out.println("value:"+System.getenv("JAVA_HOME"));
	}
	
	/*读取系统属性*/
	public void systemProperty(){
		Properties prop = System.getProperties();
		
		// 列出全部系统属性内容
		for (Entry<Object, Object> entry : prop.entrySet()) {
			System.out.print("KEY: " + entry.getKey() + "\t");
			System.out.println("VALUE: " + entry.getValue());
		}
		// prop.list(System.out); // 该方法也可以列出全部系统属性
		
		// 获得指定系统属性内容
		String version = prop.getProperty("java.version");
		System.out.println(version);
		
		String dir = prop.getProperty("user.dir");
		System.out.println("dir="+dir);
		
		// 设置系统属性
		setProperty("mykey", "myvalue");
		System.out.println(prop.getProperty("mykey", "default"));
		
		// 列出全部系统属性名
		Enumeration<String> names = (Enumeration<String>) prop.propertyNames();
		while (names.hasMoreElements()) {
			String s = names.nextElement();
			System.out.println(s);
		}
	}
	private static void setProperty(String key, String value) {
		Properties prop = System.getProperties();
		prop.setProperty(key, value);
	}
	/*读取 properties文件*/
	public void propertyFile() throws FileNotFoundException, IOException{
		Properties prop=new Properties();
		File input=new File("test1.properties");
		prop.load(new FileInputStream(input));
		//prop.load(new FileReader(input));
		System.out.println(prop.getProperty("key1"));
		
		
		File output=new File("test2.properties");
		prop.setProperty("czk","123");
		prop.store(new FileOutputStream(output), "first record");
		// prop.store(new FileWriter(output), "属性列表的描述");
	}
	/*只能读取简单的xml文件*/
	public void xmlFile() throws InvalidPropertiesFormatException, FileNotFoundException, IOException{
		Properties prop = new Properties();
		
		File input = new File("config.xml");
		prop.loadFromXML(new FileInputStream(input));
		
		prop.setProperty("key", "value");
		
		File output = new File("new.xml");
		prop.storeToXML(new FileOutputStream(output), "属性列表的描述");
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值