2014-10-21 2 views
0

나는 다음과 같은 .properties의 파일이 있습니다올바른 순서로 특성 파일에서 모든 키를 포함하는 배열을 얻으려면 어떻게해야합니까?

0.0 = 값 1

2.3 = 값 2

2.45 = VALUE3

2.65 = VALUE4

2.71 = VALUE5

2 0.87 = value6

3.66 = value7이 포함

나는이 파일에서 키 배열을 얻으려면, 무엇인가 :

Properties prop = new Properties(); 
FileInputStream myInputStream; 
myInputStream = new FileInputStream("./test.properties"); 
prop.load(myInputStream); 
myInputStream.close(); 
Set set = prop.keySet(); 
Object vetKey[] = set.toArray(); 
:

[0.0, 2.3, 2.45, 2.65, 2.71, 2.87, 3.66] 

나는이 시도

내 세트에는 파일에 나타나는 순서대로 키가 들어 있지 않습니다.

내가 이유를 모르는, 그들은 다음과 같이 나타납니다

[2.71은, 3.66은, 2.45은, 2.3, 0.0, 2.65, 2.87]

가 어떻게이 함께 배열을 얻을 수 있습니다

올바른 키 시퀀스? 그들은 .properties에있는 것처럼 :?

+0

세트에는 주문이 없음을 알아야합니다. 그래서 세트에 넣으면 주문이 느슨합니다. [propertyNames()] (http://docs.oracle.com/javase/7/docs/api/java/util/Properties.html#propertyNames())를 사용할 수 있습니다. 주문을하지 않으면 사용자가 아니므로 시도하지 않았습니다. – StackFlowed

+0

왜이 목적으로 속성을 사용하고 있는지 이해할 수 없습니까? 이것을위한 것이 아닙니다. 응용 프로그램의 속성을 저장/저장/검색하는 데 사용됩니다. –

답변

2

대신 BufferedReader을 사용하는 것이 어떻습니까? 각 줄을 문자열로 읽은 다음 string.split을 사용하여 각 줄을 '='기호로 나눕니다. string.split의 array[0]을 속성 배열에 추가합니다. 그들은 순서대로있을거야. 이것을하는 가장 좋은 방법은 아니지만 원하는 것을 얻을 수 있습니다.

1

Arrays.sort(); 또는 Collections.sort();

1

은 (prop.keys를 사용하여 시도 되세요)이 아니라 prop.keySet 이상()? 속성 파일에서 발생하는 순서대로 정렬하고 정렬 된 순서로 정렬하는 것의 차이점이 있습니다. 정렬하려는 경우 Collections.sort()를 사용하여 정렬하십시오.

관련 문제