2013-07-27 2 views
-2

텍스트 파일을 읽고 일부 내용을 편집하여 다른 텍스트 파일에 쓰려고합니다. 편집 중에 특정 키워드를 찾고 있습니다.이 키워드가있을 경우 새로운 ones.The 코드로 대체 읽기 제대로 쓰고 있지만, 키워드는 replaced.I은 아무 생각이 점점되지 않습니다 why.Here 코드입니다 : replace() 아무튼으로,대체 방법으로 텍스트 편집 문제

public static void main(String args[]) throws IOException { 
    BufferedReader in = new BufferedReader(new FileReader("C:/Users/lenov/workspace/TemplateAutomation/src/input/testinput.txt")); 
    PrintWriter writer = new PrintWriter("C:/Users/lenov/workspace/TemplateAutomation/src/output/testoutput.txt", "UTF-8"); 
    String line; 
    while ((line = in.readLine()) != null) { 
     if (line.contentEquals("CONTRACTNUMBER")) { 
      line.replace("CONTRACTNUMBER", "NEW"); 
     } 
     System.out.println("System.out.println(\"" + line + "\");"); 
     writer.println("System.out.println(\"" + line + "\");"); 
    } 
    writer.close(); 
} 
+0

형식 코드. IDE를 사용하여 코드를 들여 쓰기 한 다음 편집기의'{}'버튼을 사용하여 코드로 포맷하십시오. 이것은 읽을 수 없습니다. –

답변

1
line.replace("CONTRACTNUMBER","NEW"); 
이 가

는 아무것도하지 않습니다 String을 변경하지 마십시오 (Java의 문자열은 변경 불가능하므로). 새 것을 생성하여 반환하고 반환합니다. 당신의 라인이 "CONTRACTNUMBER"에 해당하고 당신이 그것을 "NEW" 싶은 경우에 당신은 아마 당신이 당신의 현재 행에있는 모든 "CONTRACTNUMBER"을 교체하려는 경우, 당신은 단순히 당신은 아마를 사용한다, 그렇지 않으면 line = "NEW";을 쓸 수

line = line.replace("CONTRACTNUMBER","NEW"); 

를 찾고 있습니다 if에 방법이 있습니다. 당신이 문자열을 처리하는 경우


또한, 당신은 .equals() 대신 .contentEquals() 사용할 수 있습니다.