2014-06-20 5 views
3

파일을 읽는 hasNext() 메서드가 있습니다. 파일의 끝이 아닌 경우 true를 반환합니다. 이 메서드에는 예외가 있습니다.BufferedReader.reset() 메서드에서의 예외

예외 정보 :에서

  • 예외 : java.io.BufferedReader.reset (BufferedReader.java:497)
  • 통상 : java.io.IOException 상위
  • 메시지 : 마크
을 무효

내 hasNext() 메소드 :

@Override 
public boolean hasNext() { 
    try { 
     super.getSourceRead().mark(1); 
     if (super.getSourceRead().read() < 0) { 
      return false; 
     } 
     getSourceRead().reset(); 
     return true; 
    } catch (IOException e) { 
     Logger.exceptionOccurred(e); 
     return false; 
    } catch (NullPointerException e) { 
     Logger.exceptionOccurred(e); 
     return false; 
    } 
} 
+0

어떤 자바 버전을 (내가 가진 미안 :)합니다)? – Scis

+0

@Scis 나는 jdk 1.5와 협력하고있다. – InformatikBabo

+0

'.mark (2)'를 사용해 보시 겠어요? – Scis

답변

2

그것이 doc for 1.5로 작성 아니라 :

이 실패 할 수 있습니다 스트림을 재설정하려고 이 많은 문자를 읽은 후.

귀하의 경우에는 일 수 있습니다.은 1 문자를 읽은 후 실패합니다.

한계를 2로 설정하면 안전 영역이됩니다.

단지 잔소리 스타일의 발언 만들기 : 당신이 어딘가에 클래스에서 그 한계에 대한 상수 또는 회원이 희망을