java中读取Properties文件----五种方式

Mark:

读取properties对于java编程来说很重要,所以小本本赶紧记起来吧。-----读取方式参考了其他博客文章,望大佬莫见怪

public class TestProperties {
    public String path1="com/pengzhen/test/jdbc.properties";
    public String path2="/com/pengzhen/test/jdbc.properties";
    public String path3="src/com/pengzhen/test/jdbc.properties";
    public String path4="com/pengzhen/test/jdbc";
    public String path5="src/com/pengzhen/test/jdbc.properties";    
    /*第一种采用的是类加载器*/
    public void WayOne(){
        ClassLoader loader=this.getClass().getClassLoader();
        InputStream  is=loader.getResourceAsStream(path1);
        Properties properties=new Properties();
        try {
            properties.load(is);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        String url=properties.getProperty("jdbc.url");
        String username=properties.getProperty("jdbc.username");
        System.out.println(url+"||"+username);
    }
    /*第二种采用的是运行类本身的方法*/
    public void WayTwo(){
        InputStream is=this.getClass().getResourceAsStream(path2);
        Properties properties=new Properties();
        try {
            properties.load(is);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        String url=properties.getProperty("jdbc.url");
        String username=properties.getProperty("jdbc.username");
        System.out.println(url+"||"+username);
    }
    /*第三种采用的是文件流的形式,并用Properties.load方法加载该流*/
    public void WayThree(){
        InputStream is = null;
        try {
            is = new BufferedInputStream(new FileInputStream(new File("src/com/pengzhen/test/jdbc.properties")));
        } catch (FileNotFoundException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        Properties properties=new Properties();
        try {
            properties.load(is);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        String url=properties.getProperty("jdbc.url");
        String username=properties.getProperty("jdbc.username");
        System.out.println(url+"||"+username);
    }
    /*第四种采用的是ResourceBundle的getBundle方法*/
    public void WayFour(){
        ResourceBundle rBundle=ResourceBundle.getBundle(path4);
        String url=rBundle.getString("jdbc.url");
        String username=rBundle.getString("jdbc.username");
        System.out.println(url+"||"+username);
    }
    /*第五种采用的是PropertyResourceBundle类的构造方法*/
    public void WayFive(){
        InputStream is = null;
        try {
            is = new BufferedInputStream(new FileInputStream(path5));
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        PropertyResourceBundle propertyResourceBundle = null;
        try {
            propertyResourceBundle = new PropertyResourceBundle(is);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        String url=propertyResourceBundle.getString("jdbc.url");
        String username=propertyResourceBundle.getString("jdbc.username");
        System.out.println(url+"||"+username);
    }
    public static void main(String[] args) {
        TestProperties properties=new TestProperties();
        properties.WayOne();
        properties.WayTwo();
        properties.WayThree();
        properties.WayFour();
        properties.WayFive();
    }    
}
原文地址:https://www.cnblogs.com/Pzhenzhen/p/9761049.html