在应用程序运行时更改属性文件

时间:2015-01-16 21:44:37

标签: java file

我在属性文件中有一个属性。说' x'。 在我的Java类中,我在循环中使用这个x。因此,第一次执行循环时,它从属性文件加载,从第二次开始,它从内存中获取值,而不是每次都加载props文件。现在,如果我想在属性文件中更改x的值,我可以加载该值而无需重新启动应用程序吗?如果有,怎么样?

在.net中还有Session_OnStart的Java等价物吗?我听说.net中的Session_OnStart服务于此目的

1 个答案:

答案 0 :(得分:0)

每次请求变量时,都可以加载和解析属性。

class RefreshingProperties extends Properties {

  private final File file;

  public RefreshingProperties (File file) throws IOException { 
    this.file = file;
    refresh ();
  }

  private void refresh () throws IOException {
    load (new FileInputStream (file));
  }

  @Override
  public String getProperty (String name) {
    try { refresh (); }
    catch (IOException e) {}
    return super.get (name);
  }
}

只有在特定时间段到期后,您才可以调整它以重新加载