A. java 加载资源文件的问题
1.
这一句指定的文件的名字,也就是SysConstants这个类中存在一个叫做SYS_PROPERTYNAME的变量,它的值就是sys.properties,也就是这样的
public static String SYS_PROPERTYNAME="sys.properties",你想在加载sys2.properties文件,只需再增加public static String SYS_PROPERTYNAME2="sys2.properties",再用上面的load方法加载即可。也就是p.load(Tools.class.GetClassLoader().getResourceAsStream(SysCOnstants.SYS_PROPERTYNAME2));即可。
2.通过类装载器来装载资源文件,这样就不必写出资源文件的全路径了。
3.加载后的资源文件你可以理解成一个map(类似),等号前边的是key,等号后边的是值。
B. JAVA中如何重新加载.properties文件,使其他引用实时改变
*Spring提供的PropertiesLoaderUtils允许您直接通过基于类路径的文件地址加载属性资源
*最大的好处就是:实时加载配置文件,修改后立即生效,不必重启
*/
privatestaticvoidspringUtil(){
Propertiesprops=newProperties();
while(true){
try{
props=PropertiesLoaderUtils.loadAllProperties("message.properties");
for(Objectkey:props.keySet()){
System.out.print(key+":");
System.out.println(props.get(key));
}
}catch(IOExceptione){
System.out.println(e.getMessage());
}
try{
Thread.sleep(5000);
}catch(InterruptedExceptione){
e.printStackTrace();
}
}
}