2017-03-13 2 views
-3

필자는 두 줄의 내용이 같은지 확인하기 위해 계속해서 모든 내용이 끝나고 끝날 때 파일에서 꺼낼 수 있습니다. 그러나 두 문이 유사한지를 확인하는 if 문은 제대로 작동하지 않습니다. 선이 겉으로는 유사하더라도, if 문은 여전히 ​​거짓으로 간주합니다.파일의이 줄이 같은 문자가있는 줄과 다른 이유는 무엇입니까?

String fileLine = ""; 
String comp = ""; 
BufferedReader tempRead = new BufferedReader(new FileReader(new File("res/save.sav"))); 
PrintWriter tempWrite = new PrintWriter(new FileWriter(new File("res/tempSave.sav"))); 
for(String s: addToSave){ 
    while((fileLine = tempRead.readLine()) != null){ 
     comp = s.substring(0, s.length()-4); 
     System.out.print(fileLine.substring(0, comp.length()-1)); 
     System.out.print(comp); 
     if(fileLine.substring(0, comp.length()-2).equals(comp)){ 
      System.out.println("is gud"); 
     } 
    } 
} 
tempWrite.close(); 
tempRead.close(); 
+0

글쎄, 컴퓨터에 대해 이야기 할 때 "겉으로보기에는 비슷하다"는 것이 분명 "똑같지 않다"는 것을 명심하십시오. – Craig

+0

하나의 명령문에'fileLine.substring (0, comp.length() - 1)'이 있고'fileLine.substring (0, comp.length() - 2)'가 있습니다. 어느 쪽이 될 예정입니까? –

답변

0

당신은 하나 개의 길이, comp.length() - 2의 문자열을 가지고하지 않습니다, 다른 길이 comp.length()의 다른 문자열과 동일합니다.