0

我有一个属性文件(在 rsources 文件夹下),其中存储了一个变量(键=值),

当用户插入新值或更新旧值时,我需要更新它,我可以这样做吗?我有疑问,因为它是一个 Web 应用程序,所以它只是部署在服务器中的战争。那么如何访问 .properties 文件并直接从代码中更改它呢?

如果不可能,是否有其他解决方案?

4

3 回答 3

4

也许用户可以在文件系统中提供一个覆盖属性文件,其值将覆盖打包的默认属性文件。

查看允许此功能Apache Commons Configuration

通常,您希望提供一组基本配置值,但允许用户轻松地为他们的特定环境覆盖它们。一种方法是将默认值硬编码到您的代码中,然后提供一个覆盖它的属性文件。但是,这是一种非常死板的做事方式。相反,使用 CompositeConfiguration,您可以提供许多不同的方式来设置配置。

于 2012-12-19T10:55:32.270 回答
1

您可以在数据库中创建一个新表(例如 T_PROPERTIES)并添加/修改表中的行,而不是修改属性文件。定义具有 2 列、键和值的表,并相应地更改记录。

于 2012-12-19T11:01:45.357 回答
0

You can let the user write to a properties file, but I don't think it's very clean to do. There is a class called "Properties" in the java.util package, you can use this class to load a representation of a physical properties file from your webapplication.

for example to load a properties file you could use following code:

 public void loadProps(File pfile) throws IOException {
    Properties props = new Properties();
    FileInputStream fis = new FileInputStream(propsFile);
    props.load(fis);    
    fis.close();
}

Now you can just use built in commands to manipulate the file: -setProperty(String key, String value); -get(Object key);

After you're done with it you can just call the save method on the properties Object. You will need an OutputStream for that.

于 2012-12-19T15:58:31.130 回答