7种方法获取Properties的值软件开发
- import java.io.BufferedInputStream;
- import java.io.FileInputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.util.Properties;
- import java.util.PropertyResourceBundle;
- import java.util.ResourceBundle;
- import org.apache.commons.beanutils.locale.LocaleBeanUtils;
- import com.sun.jmx.defaults.JmxProperties;
- public class PropertiesUtil {
- // 1。使用java.util.Properties 类的load()方法
- // 示例:
- public static Properties getProperties_1(String url) throws IOException {
- InputStream in = new BufferedInputStream( new FileInputStream(url));
- Properties p = new Properties ();
- p.load(in);
- return p;
- }
- // 2。使用java.util.ResourceBundle类的getBundle()方法
- // 示例:
- public static ResourceBundle getProperties_2(String url) {
- ResourceBundle rb = ResourceBundle.getBundle(url, LocaleBeanUtils.getDefaultLocale());
- return rb;
- //rb.getString(key)
- }
- // 3。使用java.util.PropertyResourceBundle类的构造函数
- // 示例:
- public static ResourceBundle getProperties_3(String url) throws IOException {
- InputStream in = new BufferedInputStream( new FileInputStream(url));
- ResourceBundle rb = new PropertyResourceBundle(in);
- return rb;
- }
- // 4。使用class变量的getResourceAsStream()方法
- // 示例:
- public static Properties getProperties_4(String url) throws IOException {
- InputStream in = JmxProperties.class .getResourceAsStream(url);
- Properties p = new Properties ();
- p.load(in);
- return p;
- }
- // 5。使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法
- // 示例:
- public static Properties getProperties_5(String url) throws IOException {
- InputStream in = JmxProperties.class .getClassLoader().getResourceAsStream(url);
- Properties p = new Properties ();
- p.load(in);
- return p;
- }
- // 6。使用java.lang.ClassLoader类的getSystemResourceAsStream()静态方法
- // 示例:
- public static Properties getProperties_6(String url) throws IOException {
- InputStream in = ClassLoader.getSystemResourceAsStream(url);
- Properties p = new Properties ();
- p.load(in);
- return p;
- }
- //
- // 补充
- // Servlet中可以使用javax.servlet.ServletContext的getResourceAsStream()方法
- // 示例:
- // public static Properties getProperties_8(String url) {
- // InputStream in = context.getResourceAsStream(url);
- // Properties p = new Properties ();
- // p.load(in);
- // }
- public static void main(String[] args) throws IOException {
- System.out.println(getProperties_1("" ));
- }
-
}