디렉토리에서 파일의 속성을 얻을 때 디스크 액세스 최소화
-
20-09-2019 - |
문제
제목에서 알 수 있듯이 디렉토리에서 많은 파일의 속성을 얻을 수있는 방법을 찾고 있지만 각 파일에 대한 추가 디스크 액세스 비용을 추가하지 않습니다.
예를 들어, 컬렉션에서 fileInfo 객체의 이름 속성을 얻으면 추가 디스크 액세스가 없습니다. 그러나 LastWriteTimeUtc를 얻으면 추가 디스크 액세스가 이루어집니다.
내 코드 :
DirectoryInfo di = new DirectoryInfo(myDir);
FileInfo[] allFiles = di.GetFiles("*.*", SearchOption.TopDirectoryOnly);
foreach (FileInfo fInfo in allFiles)
{
name = fInfo.Name //no additional disk access made
lastMod = fInfo.LastWriteTimeUtc //further disk access made!!!
}
한 번의 여행 에서이 정보를 얻을 수있는 방법을 아는 사람이 있습니까? 나는 directoryInfo.getFiles ()가 이것을 수행하지만 운이 없기를 바랐다.
미리 감사드립니다.
해결책 2
따라서 이것은 디자인으로 발생합니다. LastWriteTimeUtc는 게으른로드되었습니다. 그래서 다른 것을 할 수있는 것은 내 자신의 구성 요소를 씁니다.
다른 팁
만약 너라면 진짜 이것에 관심을 가지십시오. 아마도 findfirstfile/getfiletime 등을 사용하여 C로 작성해야 할 것입니다.
제휴하지 않습니다 StackOverflow