Подтвердить что ты не робот

File.Delete Не удалять файл

Я пытаюсь удалить файл, но следующий код этого не делает. Он не генерирует исключение, но файл все еще существует. Возможно ли это?

try
{
    File.Delete(@"C:\File.txt");
} 
catch(Exception e)
{
    Console.WriteLine(e);
}

Если файл не может быть удален, исключение должно быть распечатано, но это не так. Должно ли это терпеть неудачу (как в методе File.Delete проглатывание каких-либо ошибок)?

4b9b3361

Ответ 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

Вы уверены, что имя файла верное? Единственный раз, когда он не выдает ошибку, если файл не существует. Глупый вопрос, но разве у вас есть опечатка в имени файла? Или ошибка в пути?