2013-04-28 5 views
0

일반적으로 Java 특성 파일은 키, 값 쌍을 저장합니다. 그러나 외부 속성 파일에 문자열 목록 만 속성으로 저장하는 가장 좋은 방법은 무엇입니까?특성 파일의 특성 목록

+4

키와 값이 없음을 의미합니까? – Apurv

답변

0

값에 쉼표로 구분 된 목록을 저장하고 split ("\ s *, \ s *") 메서드를 사용하여 구분할 수 있습니다.

key=value1, value2, value3 

또는 값 목록이 필요하면 키 순서가 유지되지 않으므로 속성이 적합하지 않습니다. 그런 다음 등록 정보 파일을 필요가 없습니다, 당신은 단지 문자열의 목록을 저장하려면 당신이

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

+0

@Apurv 좋은 지적입니다. "키"목록을 원한다면 속성은 순서를 유지하지 않으므로 좋지 않습니다. –

4

같은 BufferedReader로 사용할 수 있습니다

value1 
value2 
value3 

값 당 하나 개의 라인으로 텍스트 파일을 가질 수 있습니다 .

  1. 키를 쉼표로 구분하여 텍스트 파일에 저장할 수 있습니다. 액세스하려면 쉼표로 전체 파일을 읽고 분할하십시오.

  2. 또 다른 옵션은 텍스트 파일에 모든 키를 저장하여 모든 키가 한 줄에 있도록하는 것입니다. 그런 다음 FileUtils.readLines(File file)을 사용하여 모든 키 목록을 가져올 수 있습니다.

  3. 여전히 특성 파일에 저장하려는 경우 값없이 키만 저장할 수 있습니다. 그런 다음 propertyNames을 사용하여 모든 키 목록을 가져옵니다.