今天在写一个程序,需要更改.properties属性文件的value值,后来在网上找了一些资料,整理如下:
1 配置文件 startTime=95
2 我的java类:PropertiesUtil.java
package cn.erms.jobSystem.util;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
public class PropertiesUtil {
private static Properties prop = new Properties();
private final static String file = "WEB-INF/feeTime.properties";
static{
try {
prop.load(new FileInputStream(file));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static String getProperty(String key){
return prop.getProperty(key);
}
public static void setProper(String key,String value){
/**
* 将文件加载到内存中,在内存中修改key对应的value值,再将文件保存
*/
try {
prop.setProperty(key, value);
FileOutputStream fos = new FileOutputStream(file);
prop.store(fos, null);
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
System.out.println("修改前key为startTime的value的值"+PropertiesUtil.getProperty("startTime"));
PropertiesUtil.setProper("startTime", "100");
System.out.println("修改后key为startTime的value的值"+PropertiesUtil.getProperty("startTime"));
}
}
3 执行如下
修改前key为startTime的value的值95
修改后key为startTime的value的值100