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

今天有人问起怎么在java类中读取资源文件,以前也没有写过,所以写了个小例子尝试了下。内容如下:

在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
  所属学校:大连民族学院

你可能感兴趣的:(java)