zoukankan      html  css  js  c++  java
  • Java读取Properties文件的七种方法

    java读取properties文件有很多方法,看有人整理了如下7种。

    其实很多都是大同小异,概括起来就2种:

    1. 先构造出一个InputStream来,然后调用Properties#load()
    2. 利用ResourceBundle,这个主要在做国际化的时候用的比较多。

    例如:它能根据系统语言环境自动读取下面三个properties文件中的一个:

        • resource_en_US.properties
        • resource_zh_CN.properties
        • resource.properties

    附上别人整理的6中方法...

    1、使用java.util.Properties类的load()方法

    InputStream in = new BufferedInputStream(new FileInputStream(name));
    Properties p = new Properties();
    p.load(in);

    2、使用java.util.ResourceBundle类的getBundle()方法

    ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault());

    3、使用java.util.PropertyResourceBundle类的构造函数

    InputStream in = new BufferedInputStream(new FileInputStream(name));
    ResourceBundle rb = new PropertyResourceBundle(in);

    4、使用class变量的getResourceAsStream()方法

    InputStream in = JProperties.class.getResourceAsStream(name);//JProperties为当前类名
    Properties p = new Properties();
    p.load(in);

    5、使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法

    InputStream in = JProperties.class.getClassLoader().getResourceAsStream(name);
    Properties p = new Properties();
    p.load(in);

    6、使用java.lang.ClassLoader类的getSystemResourceAsStream()静态方法

    InputStream in = ClassLoader.getSystemResourceAsStream(name);
    Properties p = new Properties();
    p.load(in);

    7、在Servlet中可以使用javax.servlet.ServletContext的getResourceAsStream()方法

    InputStream in = context.getResourceAsStream(path);
    Properties p = new Properties();
    p.load(in);

    参考资料:http://hi.baidu.com/hgd0324/item/1d5e923973b77c4d033edcaf

  • 相关阅读:
    Hive学习笔记三
    spark之RDD练习
    Python之QRCode
    Zookeeper学习笔记一
    Docker学习笔记一
    MapReduce异常:java.lang.ClassCastException: interface javax.xml.soap.Text
    Hive学习笔记二
    Hive学习笔记一
    5.线性回归算法
    4.K均值算法
  • 原文地址:https://www.cnblogs.com/yejg1212/p/3112651.html
Copyright © 2011-2022 走看看