如何在 Java 属性文件中用逗号分隔键值对
How to separate key value pairs with comma in Java properties file
目前,我的 属性 文件输出如下所示
Name=Frank
Email=frank@mail.com
基于以下代码
File prop = new File(".properties");
if (!prop.exists()) {
prop.createNewFile();
}
try {
FileReader reader = new FileReader(prop);
Properties properties = new Properties();
properties.load(reader);
reader.close();
properties.setProperty("Name", name);
properties.setProperty("Email", email);
FileWriter writer = new FileWriter(prop);
properties.store(writer, "Settings");
writer.close();
} catch (IOException ex) {
Logger.getLogger(PropertiesTest.class.getName()).log(Level.SEVERE, null, ex);
}
我希望它写在一行中,每个键值对用逗号分隔。所以它看起来像这样
Name=Frank, Email=frank@mail.com
我怎样才能做到这一点?或者有没有办法用唯一标识符对每个 Name 和 Email 键值对进行分组?
基本上,我想在一个 属性 文件中包含多个名称和电子邮件条目,并且能够获取每个条目。
属性文件不是为执行此操作而设计的。您应该改为使用 CSV、JSON、YAML、XML(但可能 XML 对于此用例来说太复杂了)或数据库。
目前,我的 属性 文件输出如下所示
Name=Frank
Email=frank@mail.com
基于以下代码
File prop = new File(".properties");
if (!prop.exists()) {
prop.createNewFile();
}
try {
FileReader reader = new FileReader(prop);
Properties properties = new Properties();
properties.load(reader);
reader.close();
properties.setProperty("Name", name);
properties.setProperty("Email", email);
FileWriter writer = new FileWriter(prop);
properties.store(writer, "Settings");
writer.close();
} catch (IOException ex) {
Logger.getLogger(PropertiesTest.class.getName()).log(Level.SEVERE, null, ex);
}
我希望它写在一行中,每个键值对用逗号分隔。所以它看起来像这样
Name=Frank, Email=frank@mail.com
我怎样才能做到这一点?或者有没有办法用唯一标识符对每个 Name 和 Email 键值对进行分组? 基本上,我想在一个 属性 文件中包含多个名称和电子邮件条目,并且能够获取每个条目。
属性文件不是为执行此操作而设计的。您应该改为使用 CSV、JSON、YAML、XML(但可能 XML 对于此用例来说太复杂了)或数据库。