Fichier.Supprimer Pas de Supprimer le Fichier
Je suis en train de supprimer un fichier, mais le code suivant ne pas le faire. Il ne jette pas une exception, mais le fichier est toujours là. Est-ce possible?
try
{
File.Delete(@"C:\File.txt");
}
catch(Exception e)
{
Console.WriteLine(e);
}
Si le fichier ne peut être supprimé, à l'exception de l'impression, mais ça ne marche pas. Si cela échoue silencieusement (comme dans le Fichier.Supprimer la méthode est d'en avaler des erreurs)?
Êtes-vous absolument sûr que le chemin d'accès du fichier est correcte? Une exception ne pourra être levée si le fichier n'existe pas.
Ce qui vous fait penser que le fichier n'est pas supprimé?
Je vais vérifier si c'est le cas, mais le chemin me paraissait absolument corrects et que le fichier n'existe pas.
Le fichier est toujours là après la suppression de l'exécution. Mais le Fichier.Supprimer n'est pas en panne.
Ainsi, alors que le code n'est pas exécuté. Pouvez-vous écrire un petit programme permettant de reproduire le problème? Comment appelez-vous cela? Qu'est-ce que l'utilisateur qui l'exécute?
Ce qui vous fait penser que le fichier n'est pas supprimé?
Je vais vérifier si c'est le cas, mais le chemin me paraissait absolument corrects et que le fichier n'existe pas.
Le fichier est toujours là après la suppression de l'exécution. Mais le Fichier.Supprimer n'est pas en panne.
Ainsi, alors que le code n'est pas exécuté. Pouvez-vous écrire un petit programme permettant de reproduire le problème? Comment appelez-vous cela? Qu'est-ce que l'utilisateur qui l'exécute?
OriginalL'auteur kevindaub | 2010-01-08
Vous devez vous connecter pour publier un commentaire.
File.Delete
ne pas de lever une exception si le fichier spécifié n'existe pas. [Certaines versions précédentes de la documentation MSDN incorrectement déclaré qu'il n'].Intéressant, je vais devoir faire un Fichier.Existe avant de la supprimer pour vérifier cela. Merci.
vous avez raison; 3,5 doco est correct. certaines versions précédentes ne l'étaient pas.
Feminella: Merci: j'ai corrigé.
Semble que si vous n'avez pas la permission de supprimer le fichier, Fichier.Delete supprime pas le fichier et ne pas jeter d'exception.
OriginalL'auteur Mitch Wheat
Vérifiez que le chemin d'accès du fichier est correct. Une exception ne pourra être levée si le fichier n'existe pas. Une erreur commune est de confondre un fichier nommé
File.txt
avec un nomméFile.txt.txt
si "Masquer les extensions des types de fichiers connus" est défini dans Windows.OriginalL'auteur Andy West
Êtes-vous sûr que le nom de fichier est correct? Le seul moment où il ne jette pas une erreur si le fichier n'existe pas. Question stupide, mais avez-vous, par hasard, avoir une faute de frappe dans le nom de fichier? Ou une erreur dans le chemin d'accès?
OriginalL'auteur BFree
Une autre possibilité est que le fichier est en cours d'utilisation par certains processus en arrière-plan. Ce n'est pas un échec, mais il ne supprime pas le fichier.
OriginalL'auteur Elisabeth
Un autre exemple pourrait être que la demande de suppression est dans une sorte de file d'attente de l'état. Par exemple lorsque le fichier a été bloqué parce qu'il n'a pas encore été fermé après avoir été édité par un autre processus. Si c'est le cas, vous pouvez modifier ce processus de fermer le fichier correctement, ou tuer le processus et le fichier disparaît.
OriginalL'auteur David Galanti