通常,Java属性文件存储键值对。但是,在外部属性文件中仅将字符串列表存储为属性的最佳方法是什么?
答案 0 :(得分:4)
如果您只想存储字符串列表,那么您不需要属性文件。
您可以将密钥以逗号分隔的方式存储在文本文件中。如果要访问它们,只需阅读完整文件并使用逗号分隔
另一种选择是您可以将所有密钥存储在文本文件中,以便每个密钥都在一行上。然后,您可以使用FileUtils.readLines(File file)获取所有密钥的列表。
如果您仍想将它们存储在属性文件中,则只能存储没有任何值的键。然后使用propertyNames获取所有密钥的列表。
答案 1 :(得分:0)
您可以在值中存储以逗号分隔的列表,并使用split(“\ s *,\ s *”)方法将它们分开。
key=value1, value2, value3
或者,如果您只需要一个值列表,则属性不合适,因为不保留键的顺序。您可以拥有一个文本文件,每个值包含一行
value1
value2
value3
你可以像这样使用BufferedReader
List<String> lines = new ArrayList<>();
try(BufferedReader br = new BufferedReader(new FileReader(file))) {
for(String line; (line = br.readLine()) != null;)
lines.add(line);
}