2014-11-12 3 views
0

알았어, 나는 초보자 자바 프로그래머이고 내가 만든 구성 파일을 읽고 결과를 반환하는 Java 코드를 만들려고하고있다.Java : 줄 단위로 파일 읽기

public static String read(String property, File file) throws IOException{ 

    FileInputStream in = new FileInputStream(file); 
    BufferedReader br = new BufferedReader(new InputStreamReader(in)); 
    String line; 
    String r = "ERROR"; 
    while ((line = br.readLine()) != null) { 
     if(!line.startsWith("//")){ 
      String[] split = line.split(" "); 
      if(split[0] == property){ 
       r = split[1]; 
      } 
     } 
    } 

    br.close(); 

    return r; 

} 

이 "안녕하세요"재산이며, "세계가"값이고, 같은 실제 구성 파일이 모습입니다 : 그럼 내가 뭘하려고 오전 설명, 먼저 당신에게 코드를 제공합니다 :

hello world 

설명하기 위해 원하는 속성은 구성 파일과 구성 파일의 위치로 사용됩니다. 그런 다음 각 행을 읽고 ("//"무시) 속성 이름과 값으로 나눕니다. 그런 다음 값을 찾으면 값을 반환하고 속성을 찾을 수없는 경우 "ERROR"를 반환합니다.

System.out.println(Property.read("hello", new File("config/confix.txt"))); 

는하지만, 가이 코드를 실행할 때마다 시간, "ERROR"인쇄됩니다 :

나는 다음 코드를 실행합니다. 나는 내 코드를 확인하고 다시 검사했지만 여전히 잘못한 것을 생각할 수 없다.

내가 아주 명확하지 않은 경우 사과드립니다. 더 설명해야하는지 물어보십시오!

+0

코드가 잘 보이고, 문제가있는 곳을 디버거를 통해 확인해보십시오. –

+2

문자열 비교는'=='이 아니라 '같음'으로 수행되어야합니다. – RealSkeptic

답변

0

문자열 비교 디버거를 사용하는 방법을 알아 보려면이

split[0].equals(property) 

시도로이

split[0] == property 

를 교체 equals 메소드 not 연산자

을 사용하여 수행 할 수 있어야합니다, 당신을 절약 할 수 많은 시간.

+0

감사! 문제는 서버용 플러그인을 프로그래밍하고 있는데 아직 디버깅 방법을 찾지 못했습니다. –

+0

코드를 로컬에서 테스트하는 방법이 항상 있어야합니다. 코드를 사용하는 메인을 작성하거나 단위 테스트를 작성하십시오. –