5 분마다 파일을 읽는 응용 프로그램이 있습니다. 프로그램이 시작되면 파일을 읽고 완료 되 자마자 타이머를 시작합니다. 5 분이 지나면 타이머가 멈추고 파일을 다시 읽습니다.파일이 C#에서 제 시간에 수정되었는지 확인하십시오.
해당 기간에 파일이 수정되었는지 확인하고 싶습니다. 그렇지 않은 경우 파일을 읽지 않습니다.
현재, 나는 다음과 같은 코드가 있습니다 :
DateTime dtFile = File.GetLastWriteTime(file);
DateTime now = DateTime.Now;
long sub = (long)(now - dtFile).TotalMilliseconds;
if(sub <= timer1.Interval)
{
// the code goes here
}
내 문제는 내 프로세스, 프로세스는 몇 분 정도 걸릴 수 있습니다 읽을 수있는 여러 개의 파일을 가지고 있다는 것입니다.
따라서 첫 번째 파일이 오전 10시에 실행되고 모든 파일 처리가 오전 10:05에 종료되면 오전 10:05에 타이머가 시작됩니다. 그래서 오전 10시 10 분에 타이머가 멈 춥니 다.
오전 10:02에 첫 번째 읽기 파일이 수정 된 경우 오전 10:05에 전체 처리가 끝날 때 타이머가 시작 되었기 때문에 읽지 않습니다. 따라서 수정 된 파일은 오전 10시 2 분에 기간이 만료됩니다.
5 분마다 파일을 폴링하는 대신 [FileSystemWatcher] (https://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher (v = vs. 110) .aspx) 클래스. – vyrp
잠재 고객이 전적으로 남성 인 것으로 가정하지 마십시오. 일부 독자에게 배타적 영향을 미칠 수 있습니다. 감사. – halfer