欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA读取.properties文件的几种方式:

程序员文章站 2022-05-08 10:00:43
...

JAVA读取.properties文件的几种方式:

  • 我的项目结构:
    JAVA读取.properties文件的几种方式:

  • 配置文件的内容:
    JAVA读取.properties文件的几种方式:

  • 方式一:

    通过 ResourceBundle.getBundle() 静态方法来获取

    特点:这种方式来获取properties属性文件不需要加.properties后缀名,只需要文件名即可

    System.out.println("方式一:");
    ResourceBundle bundle = ResourceBundle.getBundle("cdu/mc/jdbc/test");
    String username = bundle.getString("username");
    String password = bundle.getString("password");
    System.out.println(username + "-->" + password);
    
    //输出:
    方式一:
    root-->123456
    
  • 方式二:

    通过PropertyResourceBundle包装文件输入流

    特点:可以读取任意路径下的配置文件

    		System.out.println("方式二:");
            FileInputStream fileInputStream = null;
            try {
                fileInputStream = new FileInputStream("F:\\idea_project\\qianfeng\\jdbc\\src\\cdu\\mc\\jdbc\\test.properties");
                PropertyResourceBundle propertyResourceBundle = new PropertyResourceBundle(fileInputStream);
                String username1 = propertyResourceBundle.getString("username");
                String password1 = propertyResourceBundle.getString("password");
                System.out.println(username1 + "-->" + password1);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }finally {
                try {
                    fileInputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
    
    //输出:
    方式二:
    root-->123456
    
  • 方式三:

    通过Properties类的load()方法读取输入流

    特点:可以读取任意路径下的配置文件

    		System.out.println("方式三:");
            FileInputStream fileInputStream1 = null;
            try {
                fileInputStream1 = new FileInputStream("F:\\idea_project\\qianfeng\\jdbc\\src\\cdu\\mc\\jdbc\\test.properties");
                Properties properties = new Properties();
                properties.load(fileInputStream1);
                String username1 = properties.getProperty("username");
                String password1 = properties.getProperty("password");
                System.out.println(username1 + "-->" + password1);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    fileInputStream1.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
    
    //输出:
    方式三:
    root-->123456
    
  • 方式四:

    通过classloader

    注意:该方式只能读取类路径下(src下)的配置文件

    		System.out.println("方式四:");
            InputStream resourceAsStream = PropertiesTest.class.getClassLoader().getResourceAsStream("cdu/mc/jdbc/test.properties");
            Properties properties = new Properties();
            try {
                properties.load(resourceAsStream);
                String username1 = properties.getProperty("username");
                String password1 = properties.getProperty("password");
                System.out.println(username1 + "-->" + password1);
            } catch (IOException e) {
                e.printStackTrace();
            }
    
    
    
    
    
相关标签: java property