package org.dayatang.configuration.impl; import org.dayatang.configuration.ConfigurationException; import java.io.IOException; import java.io.InputStream; import java.util.Hashtable; import java.util.Properties; /** * Created by yyang on 14/12/19. */ public class ConfigurationInputStreamImpl extends AbstractConfiguration { private InputStream in; private PropertiesFileUtils pfu = new PropertiesFileUtils("utf-8"); public ConfigurationInputStreamImpl(InputStream in) { this.in = in; } @Override public void load() { hTable = new Hashtable<String, String>(); Properties props = new Properties(); try { props.load(in); hTable = pfu.rectifyProperties(props); //LOGGER.debug("Load configuration from {} at {}", file.getAbsolutePath(), new Date()); } catch (IOException e) { throw new ConfigurationException("Cannot load config file", e); } finally { if (in != null) { try { in.close(); } catch (IOException e) { throw new ConfigurationException("Cannot close input stream.", e); } } } } }