1. 程式人生 > >Java操作屬性檔案,支援新增或更新多個屬性

Java操作屬性檔案,支援新增或更新多個屬性

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

import org.apache.commons.io.IOUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class SettingsJNWJ {
	
	private static final Logger LOGGER = LoggerFactory.getLogger(SettingsJNWJ.class);

	private static SettingsJNWJ instance;

	public Properties settings = new Properties();

	public SettingsJNWJ() {
		String filename = ("d:/jnwj.properties");
		LOGGER.info("Loading " + filename  + "...");
		InputStream stream = null;
		try {
			stream = new FileInputStream(filename);
			settings.load(stream);
			LOGGER.info( filename  + " loaded");
		} catch (IOException e) {
			LOGGER.error("Failed to  " + filename  , e);
		} finally {
			if(stream != null) IOUtils.closeQuietly(stream);
		}
	}

	public synchronized static SettingsJNWJ getInstance() {
		if (instance == null) {
			instance = new SettingsJNWJ();
		}

		return instance;
	}

	public String getString(String key) {
		return settings.getProperty(key);
	}
	
	public static void main(String[] args) {
		SettingsJNWJ s = SettingsJNWJ.getInstance();
		System.out.println(s.settings.toString());
//		System.out.println(SettingsJNWJ.getInstance().getString("uname"));
	}
}

附,屬性檔案內容 [ jnwj.properties ]