2012-08-01 3 views
1

내 프로그램은 매우 자주 데이터를 많이 보내고 있습니다. 초당 최대 2-4 번. 내 목표는이 데이터를 가져 와서 파일에 기록하는 것입니다. 내 질문 이제 파일 포인터가 끊임없이 열리는 것이 현명합니까? 먼저 데이터를 캐시 한 다음 파일에 기록하는 것이 더 좋을까요? 성능은 어떻습니까?데이터를 파일에 지속적으로 기록하기

이 용도에 적합한 디자인 패턴이 있습니까? 모든 팁을 환영합니다.

답변

0

실제로 버퍼링은 표준 System.IO.FileStream에서 이미 구현되었습니다. http://msdn.microsoft.com/en-us/library/system.io.filestream.aspx
상수를 쓰는 대신 모든 변경 내용이 버퍼에 누적되어 버퍼가 가득 차면 디스크에 플러시됩니다. 완성 된대로 생성자에서 버퍼를 지정하고 flush를 호출하는 것을 기억하십시오.

+0

일정 기간 후에 자동으로 플러시 할 수있는 방법이 있습니까? – kadir

+0

스트림을 닫을 때 플러시되지만 System.IO는 타이머로 자동 플러시 할 수 없다는 것을 알고 있지만 System.Timer.Timer를 사용하여 자체적으로 구현하여 각 경과 후 플러시를 호출하고 각 새로운 글. –

관련 문제