Stream 클래스가 제공하는 기본 메서드 중 CanSeek 프로퍼티, Position 프로퍼티, Seek 메서드를 활용하시면 됩니다. CanSeek 프로퍼티를 조사하여 값이 true로 반환되는 경우에만 Position 프로퍼티와 Seek 메서드를 사용할 수 있는 것이며 특별한 상황이 아니면 FileStream은 CanSeek 프로퍼티가 true일 것으로 생각됩니다. (테이프 드라이브의 경우가 어떤지는 아직 한번도 보지 못해서 말씀드리기 힘들구요. ㅎㅎ)
Position 프로퍼티를 이용하시면 long (C++의 long long 타입과 같습니다) 타입으로 포지션을 설정하실 수 있으며, Seek 메서드를 이용하시면 처음, 중간, 끝 지점을 기준으로 상대 위치를 탐색하실 수 있습니다. 멀지 않은 곳에서 탐색을 하실 것이므로 Seek 메서드를 호출할 때에는 시작 지점으로부터 찾도록 호출하시면 쉬울 것입니다.
자세한 내용은 아래의 MSDN 도움말을 참고하시기 바랍니다. :-)
http://msdn.microsoft.com/ko-kr/library/system.io.stream.seek.aspx
http://msdn.microsoft.com/ko-kr/library/system.io.stream.canseek.aspx
http://msdn.microsoft.com/ko-kr/library/system.io.stream.position.aspx
|