Есть ли большая разница между использованием статических методов объекта File
в отличие от создания нового объекта FileInfo
и вызова этих методов?
File.Delete() в сравнении с FileInfo.Delete()
Ответ 1
Единственное различие заключается в том, что File
должен разрешить указанный путь (если он относительный), а FileInfo
должен иметь уже разрешенный путь.
Ответ 2
Оба вызова Win32Native.DeleteFile()
Ответ 3
Это зависит. Если вы выполняете одну операцию, используйте класс File
, и если вы выполняете несколько операций в одном файле, используйте FileInfo
.
EDIT: Я сделал это, поскольку я понимаю, что статические методы класса File всегда будут проверять безопасность. Но если вы повторно используете экземпляр FileInfo, методы проведут проверку безопасности только в первый раз, а не на каждом последующем вызове.
Ответ 4
Нет, они в основном то же самое.
Ответ 5
Нет, они дублируются для удобства
Ответ 6
Надеюсь, это поможет вам...
IO.FileInfo
предоставляет методы экземпляра для создания, копирования, удаления, перемещения и открытия файлов и помогает создавать System.IO.FileStream objects
. Этот класс нельзя унаследовать.
Это означает, что для выполнения этих процессов вам необходимо создать экземпляр/объект FileInfo.
IO.File предоставляет статические методы для создания, копирования, удаления, перемещения и открытия файлов и помогает создавать объекты System.IO.FileStream.
Это означает, что вам не нужно создавать экземпляр/объект FileInfo для выполнения этих процессов.
см. ссылки на ссылки для получения дополнительной информации
http://msdn.microsoft.com/en-us/library/system.io.fileinfo.aspx
Ответ 7
Почти нет разницы. Оба удаляют файл, если он существует, и генерируют исключение, если оно не существует.