2012-05-24 6 views
0

키 = 값 방식으로 정보가 포함 된 텍스트 파일이 있습니다. 어떻게 키를 찾고 값을 반환할까요?문자열이 포함 된 텍스트 파일의 줄 반환

KeyOne=ValueOne 
KeyTwo=ValueTwo 

을 나는 KeyOne를 받아 ValueOne를 반환하는 방법을 가지고 싶다 :

예를 들어, 파일이있다 가정 해 봅시다.

+2

게시하기 전에 시도해 봤어? – Blender

+0

Java의 속성 파일을 살펴보십시오. 키 - 값 파일은 그 (것)들과 비슷합니다. http://docs.oracle.com/javase/6/docs/api/java/util/Properties.html –

답변

1

좋아, 나는 좋은 분위기 :)에서 검증되지 않은 해요 :

//given that 'input' got the contents of the file 

Map<String,String> m = new HashMap<String,String>(); 

//this can be done more efficient probably but anyway 
//normalize all types of line breaks to '\n' 
input = input.replaceAll("\r\n","\n"); 
input = input.replaceAll("\r","\n"); 


//populate map 
String[] lines = input.split("\n"); 
for(int i=0 ; i< lines.length; i++){ 
    String[] nv = lines[i].split("="); 
    m.put(nv[0],nv[1]); 
} 

//get value given key: 
String key = "somekey"; 
String someValue = m.get(key); 
System.out.println(someValue); 
1
Scanner s = new Scanner("Filename"); 
Map<String, String> m = new HashMap<String, String>(); 
while(s.hasNext()){ 
    String line[] = s.nextLine().split("="); 
    m.put(line[0], line[1]); 
} 

이 값을 얻으려면 : 방법

m.get(ValueOne); 
-1

전체 무리. 당신은 할 수있다

a. 파일을 한 줄씩 읽은 다음 입력을 분리하고지도를 채 웁니다.

b. 정규식 검색을 파일 전체에 적용하십시오.

c. 전체 텍스트 검색을 색인화 할 수 있습니다.

모두 사용 사례에 따라 다릅니다. 문맥을 이해하지 않고 접근법을 추천하는 것은 어렵다.

관련 문제