2016-07-29 2 views
-2

ini4j를 사용하여 INI 파일을 읽으려고합니다. 형식은 내 출력으로 null 얻고있다Java에서 Ini 파일 구문 분석

[header] 
key = value 
Ini confFile = new Ini(new File(filePath)); 
Map<String, String> technologyMap = confFile.get("header"); 

for (Map.Entry<String, String> techMap : technologyMap.entrySet()) { 
    System.out.println(confFile.get("header", "\"" + techMap.getKey() +  "\""); 
} 

입니다.

내가 정적으로 내가 즉

System.out.println(confFile.get("header", "value"); 

가 예상 출력을주고, 내 적절한 출력을 얻고 값을 전달하는 경우.
값을 동적으로 전달하기위한 문제는 무엇입니까?

+0

확실한가?'confFile.get ("header", "value")''null'을 돌려주지 않습니까? 나는'value'를 반환하기 위해'confFile.get ("header", "key")'를 기대합니다. – Andreas

답변

2

물론 null이됩니다. 섹션 header"key"이라는 옵션이 없습니다 (추가 한 따옴표에 유의하십시오).

(당신이 자신의 키를 사용하지 않는 값을 덤프 싶어 왜 나를 넘어하지만) 당신은 단지 섹션의 모든 값을 덤프하려면 다음을 수행

for (String value : technologyMap.values()) { 
    System.out.println(value); 
} 

당신이 실제로 인쇄하려면 너무 키 (더 의미) 때문에,이 :

confFile.get("header", key)를 호출
for (Map.Entry<String, String> entry : technologyMap.entrySet()) { 
    System.out.println(entry.getKey() + ": " + entry.getValue()); 
} 

이미 값을 가질 때, 갈 올바른 방법이 아니다.

+0

예. 문제는 따옴표와 함께 사용되었습니다. 나는 그것을 제거하고 정상적으로 작동합니다. 특정 키의 값만 필요했고 키가 다른 위치에 매핑되었습니다. – Srikar