Если вы спросите старого пердуна: "Как проверить наличие файла?", он наверняка ответит: "Используй
GetFileAttributes
". Это и сегодня, вероятно, самый быстрый способ проверки существования файла, поскольку он требует только одного вызова. Другие методы (такие как FindFirstFile
или CreateFile
) требуют дополнительного вызова FindClose
или CloseHandle
- что приведёт к дополнительным запросам по сети, увеличивая стоимость проверки.Но в прежние времена выбор
GetFileAttributes
был не просто оптимизацией производительности. Если вместо этого вы попытаетесь открыть файл для проверки его существования, вы можете и вовсе получить неправильный ответ!