본문 바로가기

.NET

파일 쓰기 FileStream | WinForm Program 설정 파일 검색 txt 검색 CanSeek 프로퍼티, Position 프로퍼티, Seek 메서드

반응형
 파일 쓰기 FileStream  | WinForm Program 2009-01-16 오전 9:01:55
변영삼 (punk78)  변영삼님께 메시지 보내기변영삼님을 내 주소록에 추가합니다.변영삼님의 개인게시판 가기 번호: 103291   / 평점:  (-)  / 읽음:16
A.txt 라는 설정파일속에

property_a= 1
property_b=2
property_c=3
property_d=4



이런식으로 있을때 ,

제가 예를 들어


property_d를 찾아서 값을 고쳐주고 싶습니다

Filestream을 쓰면 특정문자열이 있는곳으로 커서를 이동시키는 함수는 없더라구요

어떻게 구현해야 하나요?
이 글에 평점 주기: 
 [답변]... 2009-01-16 오전 9:09:04
한경덕 (hkd0103)  한경덕님께 메시지 보내기한경덕님을 내 주소록에 추가합니다.한경덕님의 개인게시판 가기 번호: 103292   / 평점:  (-)  
라인단위로 읽어서 string변수에 저장후 

IndexOf() 메소드를 이용하여 검색하시면 될것같습니다.
이 글에 평점 주기: 
 [답변]... 2009-01-16 오전 9:12:27
남정현 (rkttu2002)  남정현님께 메시지 보내기남정현님을 내 주소록에 추가합니다.남정현님의 개인게시판 가기 번호: 103293   / 평점:  (-)  

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