如果之前没有写过,BufferedWriter只会写入

时间:2016-06-02 23:18:20

标签: java bufferedwriter

我正在制作配置类。我希望它只在BufferedWriter没有写入名称时才写入。如果已写入名称,则更新该值。我不知道该怎么做。到目前为止,这是我的写作功能。

    public void setString(String name, String value) {
         try {
             bufferedWriter.write(name + ": " + value);
             bufferedWriter.newLine();
         } catch (IOException e) {
             e.printStackTrace();
         } 
     }

1 个答案:

答案 0 :(得分:1)

    Properties prop = new Properties();
    InputStream input = null;
    boolean exist = false;
    try {
    input = new FileInputStream("config.properties");
    //loading the property file
    prop.load(input);
    // checking if the property exist
    exist = prop.getProperty("name")==null ? false : true;
    } catch (IOException ex) {
        ex.printStackTrace();
    }


    if(!exist){
    //then write to the file.
    OutputStream output = null;
    try {
    output = new FileOutputStream("config.properties");
    prop.setProperty("name", "yourname");
    //saving the property to the file
    prop.store(output, null);
    } catch (IOException io) {
    io.printStackTrace();
    }

    }

因为您正在创建configuration类,所以您可以在java中使用Properties来执行此操作。 您可以加载properties文件,并检查上述方法是否存在数据,如果没有,则可以编写数据。