Java读取利用java.util类Properties读取resource下的properties属性文件

说明:upload.properties属性文件在resources下

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

public class Test {
private static Properties pro ;
static{
  InputStream inputStream = Test.class.getClassLoader().getResourceAsStream("upload.properties");
try {
  pro= new Properties();
  pro.load(inputStream);
} catch (IOException e) {
  e.printStackTrace();
}
}

public static Properties getProperties(){
  return pro;
}

//第一种方式
@org.junit.Test
public void test(){
  InputStream inputStream = Test.class.getClassLoader().getResourceAsStream("upload.properties");
  Properties pro = new Properties();
try {
  pro.load(inputStream);
  String p1 = pro.getProperty("REPOSITORY_PATH");
  String p2 = pro.getProperty("IMAGE_BASE_URL");
  System.out.println(p1);
  System.out.println(p2);
} catch (IOException e) {
e.printStackTrace();
}
}

//启动jvm的时候就加载类,然后通过静态方法获取属性文件,这样就可以在一个工程中的任何地方获取属性文件中的配置了
@org.junit.Test
public void test1(){
  Properties properties = Test.getProperties();
  String p1 = properties.getProperty("REPOSITORY_PATH");
  tring p2 = properties.getProperty("IMAGE_BASE_URL");
  System.out.println("p1:"+p1);
  System.out.println("p2:"+p2);
}

//第二种方式
@org.junit.Test
public void test2(){
  InputStream stream = ClassLoader.getSystemResourceAsStream("upload.properties");
  Properties pro = new Properties();
try {
  pro.load(stream);
  String p = pro.getProperty("REPOSITORY_PATH");
  System.out.println(p);
} catch (IOException e) {
  e.printStackTrace();
}
}

//第三种方式
@org.junit.Test
public void test3(){
  ResourceBundle bundle = ResourceBundle.getBundle("upload");
  tring string = bundle.getString("REPOSITORY_PATH");
  System.out.println("string:"+string);
}
}

posted @ 2018-07-31 00:01  梦浍烈风灵  阅读(3862)  评论(0编辑  收藏  举报