zoukankan      html  css  js  c++  java
  • 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();
        }    
    }
  • 相关阅读:
    人工智能第三课:数据科学中的Python
    人工智能第二课:认知服务和机器人框架探秘
    人工智能第一课:使用分类算法预测糖尿病
    如何加入Microsoft Teams 技术社区
    Python在Office 365 开发中的应用
    《Office 365开发入门指南》上市说明和读者服务
    基于Microsoft Graph打造自己的Timeline应用
    Office 365 应用开发的 .NET Core 模板库
    拥抱开源,Office 365开发迎来新时代
    Excel as a Service —— Excel 开发居然可以这么玩
  • 原文地址:https://www.cnblogs.com/Pzhenzhen/p/9761049.html
Copyright © 2011-2022 走看看