如何在java类中读取Properties配置文件

时间:2021-05-12 03:58:42

在com.example包下有一个test.properties文件和测试类PropertyReadTest.java。

test.properties 文件内容:

author=zeige  team=SUTMOUNTING  campus=\u5927\u8FDE\u6C11\u65CF\u5B66\u9662

PropertyReadTest文件内容:

package com.example;

import java.io.IOException; import java.io.InputStream; import java.util.Properties;

public class PropertyReadTest {

public void testReadPropertiesFile() throws IOException{

    InputStream in = this.getClass().getResourceAsStream("test.properties");

Properties p = new Properties();

p.load(in);

System.out.println("  作者:" + p.get("author"));

System.out.println("  所属团队:" + p.get("team"));

System.out.println("  所属学校:" + p.get("campus"));  }

public static void testReadPropertiesFileInStaticMethod() throws IOException{

InputStream in = PropertyReadTest.class.getResourceAsStream("test.properties");

Properties p = new Properties();

p.load(in);

System.out.println("  作者:" + p.get("author"));

System.out.println("  所属团队:" + p.get("team"));

System.out.println("  所属学校:" + p.get("campus"));  }

public static void main(String[] args) {

System.out.println("静态方法中读取Properties文件");

try {

PropertyReadTest.testReadPropertiesFileInStaticMethod();

} catch (IOException e1) {

e1.printStackTrace();

}

System.out.println("非静态方法或静态块中读取Properties文件");

PropertyReadTest peropertyReadTest = new PropertyReadTest();

try {

peropertyReadTest.testReadPropertiesFile();

} catch (IOException e) {

e.printStackTrace();

}  }

}

运行结果:

静态方法中读取Properties文件   作者:zeige   所属团队:SUTMOUNTING   所属学校:大连民族学院 非静态方法或静态块中读取Properties文件   作者:zeige   所属团队:SUTMOUNTING   所属学校:大连民族学院