Java 读取Properties文件的几种方法

时间:2021-11-28 19:23:43

第一种:(以流的方式进行读取)

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 新建如下图所示:

Java 读取Properties文件的几种方法

保存后,用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();

}