5 분마다 예약 된 작업으로 실행되는 프로젝트가 있습니다. 무엇보다도이 프로젝트는 수백 개의 이미지를 실행하여 이러한 방식으로 네트워크 드라이브에 복사합니다.File.Copy() 파일이 이미 존재하는 경우의 성능
foreach (string file in Files)
{
string Control = Path.GetFileNameWithoutExtension(file);
File.SetAttributes(file, FileAttributes.Normal);
try
{
File.Copy(file, destinationFolder + "\\" + Control + @".pdf", false);
}
catch (Exception err)
{
Console.Writeline(err.ToString());
}
}
"거짓"인수는 물론 파일이 이미 존재하는 경우 덮어 쓰지 않도록 지시합니다.
파일이 이미 있는지 먼저 확인한 다음 파일이없는 경우에만 복사하는 것보다 빠르고 더 나은 방법입니까? (아래 참조)
내 직감은 첫 번째 방법이 더 좋은 방법이라고 말해줍니다. 그러나 나는 프로그래밍에 비교적 익숙하지 않으며 어떤 것이 더 빠르고, 더 광범위하게 받아 들여지는지를 알고 싶어한다.
고마워!
편집 : 그것은 수도 있고 내가에 복사하고 원격 드라이브/폴더에 이미지 데이터 (이미지의 수백만)의 4TB 포함되어 있음을 알고 도움이 될 수 없습니다
http://ericlippert.com/2012/12/17/performance-rant/ –
기존 파일의 경로를 모두 텍스트 또는 XML 파일에 쓰고 그 파일을 검사하는 것이 더 좋지 않을까요? 목록에없는 경우 먼저 목록을 만든 다음 디렉토리에 복사 한 다음 목록에 새 파일을 추가 하시겠습니까? 그냥 아이디어 :) –
'Files' 컬렉션을 어떻게 만들었습니까? –