상세 컨텐츠

본문 제목

파일 끝을 검사하기

C#

by 탑~! 2013. 5. 25. 10:59

본문

파일 끝을 검사하기
파일의 끝을 지났는지 확인하는 방법에는 두 가지가 있다. 즉, null 예외를 찾는 것과 데이터 스트림의 끝을 찾는 것이다. 실제로, 텍스트 파일의 끝을 지나서 파일을 읽더라도 아무런 에러도 발생하지 않고, 파일 끝 예외도 발생하지 않는다. 그러나 파일의 끝을 지나서 읽으려고 한다면, null 값을 반환받게 될 것이다. 그러므로 이것을 이용하여 파일을 읽는 클래스에서 파일 끝을 검사하는 기능을 만들 수 있다.

private StreamReader rf;
private bool eof;
//--------------
public String readLine() {
   String s = rf.ReadLine();
   if( s == null )
      eof = true;
}
//---------------
public bool fEof {
  return eof;
}

파일의 끝을 지나서 읽는 것을 막기 위한 또 다른 방법은 Stream 객체의 Peek 메서드를 사용하여 미리 값을 꺼내 오는 것이다. 이것은 남은 문자가 있으면 다음 문자의 아스키 코드 값을 반환하고, 남아 있는 문자가 없으면 -1을 반환한다.

public String read_Line() {
   String s = "";
   if(rf.Peek() > 0) {
      s = rf.ReadLine();
   } else {
      eof = true;
   }
   return s;
}



출처 : http://www.iamgsi.com/entry/%ED%8C%8C%EC%9D%BC-%EB%81%9D%EC%9D%84-%EA%B2%80%EC%82%AC%ED%95%98%EA%B8%B0

관련글 더보기