2013-07-22 3 views
0

특정 순서로 속성을 저장하는 방법을 찾고 있습니다. Property-class는 정렬되지 않은 값을 저장합니다./ 특정 순서로 저장하는 것이 중요합니다. storeToXML()을 사용하여 XML 형식으로 저장할 때이를 수행하는 방법은 무엇입니까? 나는 그들을 삽입 한 순서대로 그들을 원한다. 예를 들어Java propertyfile을 XML 형식으로 특정 순서로 저장하십시오.

:

<entry key="Name">Frost</entry> 
<entry key="Country">Germany</entry> 
<entry key="Surname">Byte</entry> 
<entry key="Age">18</entry> 

어떤 아이디어 :

put("Name","Frost"); 
put("Surname","Byte"); 
put("Age","18"); 
put("Country","Germany"); 

이 순서대로 저장됩니다?

답변

1

Properties은이를 달성하기위한 잘못된 접근 방법입니다. PropertiesHashtable으로 확장되며 HashMap이므로 등록 정보의 순서가 유지되지 않습니다.

특정 순서의 XML 파일을 작성하려면 다른 기술을 사용해야합니다. 예 : JAXB를 사용하여 관련된 객체에서 직접 XML 파일을 작성할 수 있습니다.

+0

은 흠 내가 JAXB 살펴 보겠습니다. 감사합니다 :) Vogella에서 자습서 같은 문제가있는 사람들을 위해 http://www.vogella.com/articles/JAXB/article.html 쉽게 보입니다; D –

0

삽입 순서를 유지하기 위해 속성을 확장하고 모든지도 메소드를 LinkedHashMap에 위임 할 수 있습니다.
아래 링크를 당신에게 유용합니다
1. How to read a properties file in java in the original order

+1

링크 주셔서 감사합니다. 그럴 수도 있지만 JAXB는 더 쉬워 보인다. 오라클이 LinkedHashset을 사용하지 않는 이유가 궁금합니다 :/ –

+1

@KevinKuegler'Properties '클래스는 Java 1.0 이후로,'Properties'는 순서가 중요하지 않은 일반 텍스트 파일에만 저장되었습니다. 또한 Java 1.0에는 LinkedHashMap이 없습니다. –

관련 문제