File.Delete Не удалять файл
Я пытаюсь удалить файл, но следующий код этого не делает. Он не генерирует исключение, но файл все еще существует. Возможно ли это?
try
{
File.Delete(@"C:\File.txt");
}
catch(Exception e)
{
Console.WriteLine(e);
}
Если файл не может быть удален, исключение должно быть распечатано, но это не так. Должно ли это терпеть неудачу (как в методе File.Delete проглатывание каких-либо ошибок)?
Ответы
Ответ 1
File.Delete
не выдает исключение, если указанный файл не существует. [Некоторые предыдущие версии документации MSDN неправильно заявили, что они сделали].
try
{
string filename = @"C:\File.txt";
if (File.Exists(filename))
{
File.Delete(filename);
}
else
{
Debug.WriteLine("File does not exist.");
}
}
catch(Exception e)
{
Console.WriteLine(e);
}
Ответ 2
Проверьте, правильно ли указан путь к файлу. Исключение не будет выбрано, если файл не существует. Одна из распространенных ошибок состоит в том, чтобы путать файл с именем File.txt
с одним именем File.txt.txt
, если в Windows установлен "Скрыть расширения для известных типов файлов".
Ответ 3
Вы уверены, что имя файла верное? Единственный раз, когда он не выдает ошибку, если файл не существует. Глупый вопрос, но разве у вас есть опечатка в имени файла? Или ошибка в пути?