您的位置:首页 > 运维架构

PropertiesUtils 在网上找到一个小工具

2013-09-22 15:34 253 查看
package bs.util.io;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Properties;
import java.util.Set;

/**
* 读取属性文件属性.
*
* @author baishui2004
* @version 1.0
*/
public class PropertiesUtils {

/**
* 获取.properties属性文件所有属性.
*
* @param path
*            属性文件路径
* @return <code>Properties</code> 属性
* @throws IOException
*             IO Exception
*/
public static Properties getProperties(String path) throws IOException {
Properties properties = new Properties();
InputStream in = null;
try {
in = new FileInputStream(new File(path));
properties = getProperties(in);
} finally {
if (in != null) {
in.close();
}
}
return properties;
}

/**
* 获取所有属性.
*
* @param in
*            InputStream
* @return <code>Properties</code> 属性
* @throws IOException
*             IO Exception
*/
public static Properties getProperties(InputStream in) throws IOException {
Properties properties = new Properties();
properties.load(in);
return properties;
}

/**
* 获取.properties属性文件所有属性的Map集合.
*
* @param path
*            属性文件路径
* @return <code>Map<String, String></code> 属性的Map集合
* @throws IOException
*             IO Exception
*/
public static Map<String, String> getPropertiesMap(String path) throws IOException {
Properties properties = getProperties(path);
return getPropertiesMap(properties);
}

/**
* 获取所有属性.
*
* @param in
*            InputStream
* @return <code>Map<String, String></code> 属性的Map集合
* @throws IOException
*             IO Exception
*/
public static Map<String, String> getPropertiesMap(InputStream in) throws IOException {
Properties properties = getProperties(in);
return getPropertiesMap(properties);
}

/**
* 获取properties属性的Map集合.
*
* @param properties
*            属性
* @return <code>Map<String, String></code> 属性的Map集合
*/
public static Map<String, String> getPropertiesMap(Properties properties) {
Set<String> keySets = properties.stringPropertyNames();
Object[] keys = keySets.toArray();
Map<String, String> map = new LinkedHashMap<String, String>();
for (int i = 0; i < keys.length; i++) {
String key = (String) keys[i];
map.put(key, properties.getProperty(key));
}
return map;
}

/**
* 获取.properties属性单个属性的方法,获取两个或两个以上属性值使用getPropertiesMap(path)方法.
*
* @param path
*            属性文件路径
* @param property
*            属性key
* @return <code>String</code> 属性值
* @throws IOException
*             IO Exception
* @see #getPropertiesMap(String)
*/
public static String getProperty(String path, String property) throws IOException {
return getPropertiesMap(path).get(property);
}

}


package bs.util.io;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
/**
* 读取属性文件属性.
*
* @author baishui2004
* @version 1.0
*/
public class PropertiesUtils {
/**
* 获取.properties属性文件所有属性.
*
* @param path
* 属性文件路径
* @return <code>Properties</code> 属性
* @throws IOException
* IO Exception
*/
public static Properties getProperties(String path) throws IOException {
Properties properties = new Properties();
InputStream in = null;
try {
in = new FileInputStream(new File(path));
properties = getProperties(in);
} finally {
if (in != null) {
in.close();
}
}
return properties;
}
/**
* 获取所有属性.
*
* @param in
* InputStream
* @return <code>Properties</code> 属性
* @throws IOException
* IO Exception
*/
public static Properties getProperties(InputStream in) throws IOException {
Properties properties = new Properties();
properties.load(in);
return properties;
}
/**
* 获取.properties属性文件所有属性的Map集合.
*
* @param path
* 属性文件路径
* @return <code>Map<String, String></code> 属性的Map集合
* @throws IOException
* IO Exception
*/
public static Map<String, String> getPropertiesMap(String path) throws IOException {
Properties properties = getProperties(path);
return getPropertiesMap(properties);
}
/**
* 获取所有属性.
*
* @param in
* InputStream
* @return <code>Map<String, String></code> 属性的Map集合
* @throws IOException
* IO Exception
*/
public static Map<String, String> getPropertiesMap(InputStream in) throws IOException {
Properties properties = getProperties(in);
return getPropertiesMap(properties);
}
/**
* 获取properties属性的Map集合.
*
* @param properties
* 属性
* @return <code>Map<String, String></code> 属性的Map集合
*/
public static Map<String, String> getPropertiesMap(Properties properties) {
Set<String> keySets = properties.stringPropertyNames();
Object[] keys = keySets.toArray();
Map<String, String> map = new LinkedHashMap<String, String>();
for (int i = 0; i < keys.length; i++) {
String key = (String) keys[i];
map.put(key, properties.getProperty(key));
}
return map;
}
/**
* 获取.properties属性单个属性的方法,获取两个或两个以上属性值使用getPropertiesMap(path)方法.
*
* @param path
* 属性文件路径
* @param property
* 属性key
* @return <code>String</code> 属性值
* @throws IOException
* IO Exception
* @see #getPropertiesMap(String)
*/
public static String getProperty(String path, String property) throws IOException {
return getPropertiesMap(path).get(property);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐