Java 属性文件创建



我使用以下逻辑创建一个保存 sql 查询的属性文件。每次保存查询时,文件都会向查询中添加一个额外的字符。

    String filePath = getServletContext().getInitParameter("file-upload"); 
    Properties props = new Properties();
    FileOutputStream fos = new FileOutputStream(""+filePath+"/cem_inventory.properties");
    props.setProperty("query", select);
    props.store(fos, "Properties file generated from Java program");
    fos.close();

查询应给出的输出为: SELECT * FROM CEM_INVENTORY_TEMP WHERE 1 = 1 AND Status in ('Deployed');

但我得到的是SELECT * FROM CEM_INVENTORY_TEMP WHERE 1 = 1 AND Status in ('Deployed');

您在 = 符号

之前看到反斜杠的原因是 = 符号是保留字符。Java仍然允许你使用这些字符来破坏数据,反斜杠是它说的方式:"这是一个特殊的字符,只需将其视为文本,仅此而已!当您读回文件时,Java 不会在最终字符串中包含此反斜杠。

最新更新