Java config.properties文件无法保存

时间:2018-10-18 23:34:56

标签: java properties

我有以下课程应允许:

  1. 向调用者发送属性值,
  2. 为属性设置新值并保存属性文件。

发送属性的值有效。 为属性设置新值并保存文件后,该部分将无法正常工作。

怎么了?

我已经搜索了很多,到处都讨论了许多不同的方式,没有什么可以帮助我的。这就是为什么我要在这里问。

非常感谢能帮助我的人!

public class Config {
private Properties props = new Properties();
private String strFilePath = "Config.properties";
private File configFile = new File(strFilePath);

public Config(){
    try {
        InputStream in = Config.class.getClassLoader().getResourceAsStream(strFilePath);
        props.load(in);

        }catch(IOException ex){
            System.out.println(ex);
        }
}
public String getPropriete(String sPropriété){
    String strResult = "";
    try{
        strResult = props.getProperty(sPropriété);
    }catch(Exception e){
        System.out.println(e);
        strResult = "";
    }
    return strResult;
}
public void setPropriete(String sPropriété, String sValeur){
    try{
        System.out.println(sPropriété + " --> " + sValeur);
        props.setProperty(sPropriété, sValeur);
        FileOutputStream fos = new FileOutputStream(strFilePath);
        props.store(fos, null);
        props.save(fos, null);
        Writer out = new BufferedWriter(new OutputStreamWriter(fos, "UTF-8"));
        out.flush();
        out.close();
        fos.close();
    }catch(Exception e){
        System.out.println(e);
    }
}

}

1 个答案:

答案 0 :(得分:0)

只需执行以下操作:

   try{
        System.out.println(sPropriété + " --> " + sValeur);
        props.setProperty(sPropriété, sValeur);
        FileOutputStream fos = new FileOutputStream(strFilePath);
        props.store(fos, null);
        fos.close();
    }catch(Exception e){
        System.out.println(e);
    }