今天有人问起怎么在java类中读取资源文件,以前也没有写过,在网上找到了相关资料,所以写了个小例子尝试了下。内容如下:
在com.example包下有一个test.properties文件和一个测试的类ReadProperties
资源文件中的内容为:
author=zhuzhu
name=zhuzhu
school=zhuzhu
测试的类为:
package com.example;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class ReadProperties {
/**
* 作者:朱湘鄂
* 日期:01-05021
* 目的:读取properties文件,根据键值对的形式来读取
*/
//采用静态方法读取
public static void testReadPropertiesFileInStaticMethod() throws IOException{
InputStream in = ReadProperties.class.getResourceAsStream("test.properties");
Properties p = new Properties();
p.load(in);
System.out.println(" 作者:" + p.get("author"));
System.out.println(" 昵称:" + p.get("name"));
System.out.println(" 所属学校:" + p.get("school"));
}
//采用非静态的方法读取
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("name"));
System.out.println(" 所属学校:" + p.get("school"));
}
public static void main(String[] args) {
System.out.println("静态方法中读取Properties文件");
try {
ReadProperties.testReadPropertiesFileInStaticMethod();
} catch (IOException e1) {
e1.printStackTrace();
}
System.out.println("非静态方法或静态块中读取Properties文件");
ReadProperties peropertyReadTest = new ReadProperties();
try {
peropertyReadTest.testReadPropertiesFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
测试的结果如下:
静态方法中读取Properties文件
作者:zhuzhu
昵称:zhuzhu
所属学校:zhuzhu
非静态方法或静态块中读取Properties文件
作者:zhuzhu
昵称:zhuzhu
所属学校:zhuzhu
希望对大家有帮助...(*^__^*) 嘻嘻……