第一种:(以流的方式进行读取)
1:在src目录下新建properties文件:kalision.properties
添加要配置的属性 KEY-VALUE 对,如下图:
2:在需要读取配置信息的类中这样使用:
首先需要导入包:import java.util.Properties;
InputStream is = UpdateVM.class.getClassLoader().getResourceAsStream(
"kalision.properties");
try {
properties.load(is);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
user = properties.getProperty("user");
注意:红色标记的两处,UpdateVM为当前所在的类的类名。 kalision.properties为上一步所创建的文件。
第二种:(使用java.util.ResourceBundle)
1:新建properties文件 Resources1.properties 路径放到和步骤2中一样的包中com.xiami.resources;
user_name=kalision
2:新建Resources处理类 Resources.java
package com.xiami.resources;
import java.util.ResourceBundle;
public class Resources {
private static final String resourceBundleName = "com.xiami.resources.Resources1";
public static String getResourceText(String key) {
return ResourceBundle.getBundle(resourceBundleName).getString(key);
}
}
3:调用类测试 Test.java
package com.test;
import com.xiami.resources.Resources;
public class Test {
public static void main(String[] args) {
System.out.println(Resources.getResourceText("user_name"));
}
}
4:运行Test.java可以得到资源文件中的user_name对应的值信息。
5:对中文的支持
在Resources1.properties资源文件所在包下新建Resources1_zh_CN.properties文件。(注意文件名必须为处理类定义的文件名_zh_CN.properties)
新建key-value时必须在eclipse中的properties选项卡中new 新建如下图所示:
保存后,用Source打开后 发现中文显示的值是 address=\u4E2D\u56FD\u5317\u4EAC\u6D77\u6DC0这种格式的。
可以再Test类中进行测试
System.out.println(Resources.getResourceText("address"));
发现可以获取中文的值了!
第三种:
public static void main(String[] args) {
File file = new File("D:\\kalision.properties");
try {
InputStream is = new FileInputStream(file);
try {
Properties properties = new Properties();
properties.load(is);
System.out.println(properties.get("username"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}