JAVA读写Properties文件

http://www.zxbc.cn/html/20081128/68432.html

package com.geosun.conf;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Enumeration;
import java.util.Properties;

/* 
 * 从路径中的属性文件中读取单个属性或全部属性及设置属性 
 */
public class GetProperty {
	public static String readValue(String filePath, String key) {
		Properties props = new Properties();
		try {
			InputStream ips = new BufferedInputStream(new FileInputStream(filePath));
			props.load(ips);
			String value = props.getProperty(key);
			System.out.println(key + "=" + value);
			return value;
		} catch (FileNotFoundException e) {
			e.printStackTrace();
			return null;
		} catch (IOException e) {
			e.printStackTrace();
			return null;
		}

	}

	// 读取全部信息
	public static void readProperties(String filePath) {
		Properties props = new Properties();
		try {
			InputStream ips = new BufferedInputStream(new FileInputStream(filePath));
			props.load(ips);
			Enumeration enum1 = props.propertyNames();
			while (enum1.hasMoreElements()) {
				String key = (String) enum1.nextElement();
				String value = props.getProperty(key);
				System.out.println(key + "=" + value);
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

	}
	public static void writeProperties(String filePath, String paraKey, String paraValue) {
		Properties props = new Properties();
		try {

			OutputStream ops = new FileOutputStream(filePath);
			props.setProperty(paraKey, paraValue);
			props.store(ops, "set");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

       //用load的话  就会追加或者覆盖原有的key-value
       public static void writeConfig(String key, String value){
		String path = System.getProperty("user.dir") + File.separator + "config" + File.separator + "config.properties";
		Properties props = new Properties();
		try {
			props.load(new FileInputStream(path));//用load的话  就会追加或者覆盖原有的key-value
			OutputStream ops = new FileOutputStream(path);
			props.setProperty(key, value);
			props.store(ops, "add-------");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public static void main(String[] args) {
		GetProperty.readValue("D:\\eclipse3.3\\workspace\\Test\\src\\sys.properties", "username");

		GetProperty.readProperties("D:\\eclipse3.3\\workspace\\Test\\src\\sys.properties");
		GetProperty.writeProperties("D:\\eclipse3.3\\workspace\\Test\\src\\sys.properties", "age", "21");
	}
}

相关推荐