2013-04-28 86 views
0

通常,Java屬性文件存儲鍵值對。但是,只將字符串列表作爲屬性存儲在外部屬性文件中的最佳方式是什麼?屬性文件中的屬性列表

+4

你的意思是隻有鍵和沒有值? – Apurv 2013-04-28 06:35:55

回答

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); 
} 
+0

爲什麼連這個?如果OP只需要密鑰,那麼純文本CSV文件將起作用 – Apurv 2013-04-28 06:37:08

+0

@Apurv好點。如果你想要一個「鑰匙」列表,那麼屬性不好,因爲它不保持秩序。 – 2013-04-28 06:43:31

4

如果你只是想存儲的字符串列表,那麼你不需要屬性文件。

  1. 您可以將密鑰以逗號分隔存儲在文本文件中。當你想訪問它們時,只需讀取完整的文件並使用逗號分割即可

  2. 另一種選擇是您可以將所有密鑰存儲在文本文件中,以便每個密鑰位於同一行上。然後,您可以使用FileUtils.readLines(File file)獲取所有密鑰的列表。

  3. 如果仍然想要將它們存儲在屬性文件中,那麼您只能存儲密鑰,而沒有任何值。然後使用propertyNames獲取所有密鑰的列表。