fichier java.supprimer() renvoie la valeur faux mais fichier.exists() renvoie la valeur true
Quand j'essaye de supprimer un fichier qui est présent dans le serveur tomcat conf/Catalina/localhost à partir du code java puis fichier.delete() renvoie toujours false. Mais si je vérifie le fichier par fichier.exists() la fonction renvoie la valeur true. Je ne reçois aucune exception. S'il vous plaît aidez-nous pourquoi ce qui se passe. Quelle est la solution pour cela?
si le fichier.delete() renvoie la valeur false, alors cela signifie qu'il n'était pas supprimé. Donc fichier.exists() retournera true. Il n'y a rien de mal
Vérifiez les autorisations de fichier.
Le fichier existe, mais ne peut pas être supprimé. C'est tout.
Êtes-vous de la fermeture de la inputstream
J'ai la solution pour cela. En fait il y avait erreur lors de la création du fichier. Par erreur j'ai oublié de fermer FileStream. Merci à tous pour vos suggestions.
Vérifiez les autorisations de fichier.
Le fichier existe, mais ne peut pas être supprimé. C'est tout.
Êtes-vous de la fermeture de la inputstream
J'ai la solution pour cela. En fait il y avait erreur lors de la création du fichier. Par erreur j'ai oublié de fermer FileStream. Merci à tous pour vos suggestions.
OriginalL'auteur vishal | 2013-03-11
Vous devez vous connecter pour publier un commentaire.
Plus probable que vous n'avez pas autorisation pour la suppression de fichier(s) sur le Serveur. Vérifier vos autorisations.
f.delete()
renvoie la valeur false, cela signifie qu'il n'est pas /n'a pas pu être supprimé etf.exists()
retourne true si le fichier existe mais ne peut pas être supprimé.vous n'avez pas quand il ne fonctionne pas.
Est-il une autre méthode ou une bibliothèque qui aidera à résoudre ce problème. Parce que j'ai l'obligation de supprimer le fichier en utilisant le code.
alors, parfois, est supprimé, parfois pas. c'est très "curieux" de la chose. Donc, essayez plein de redémarrage du Serveur, vous pouvez également vérifier Apache Commons IO bibliothèque (FileUtils classe)
j'ai eu de solution pour elle. Effectivement il y a erreur dans la création d'un fichier. Par erreur j'ai oublié de fermer filestream. Merci pour vos suggestions.
OriginalL'auteur Simon Dorociak
Il ya un certain nombre de raisons pour lesquelles un fichier ne peut être supprimé, il ne peut pas exister, il peut être un répertoire non vide, vous ne pouvez pas avoir fermé toutes les ressources de l'utiliser, et que votre programme ne peut pas avoir la permission de le faire, pour n'en nommer que quelques-unes.
Malheureusement, le
Fichier.delete()
méthode fournit très peu d'informations quant à la raison; c'est à peu près à vous de fouiller et comprendre. Mais il ya de bonnes nouvelles; vous ne voulez pas utiliserFile
en premier lieu.Java 7 a introduit la nouvelle
java.nio.fichier
paquet qui est beaucoup plus robuste d'accès au fichier de l'API. Il fournit le concept d'un résuméPath
et sépare les opérations concrètes dans leFichiers
classe, en particulier, il fournitFichiers.delete()
qui est documenté pour soulever des exceptions précises décrivant les raisons de la suppression risque d'échouer.Utilisation
Path
etFiles
; vous serez heureux vous avez fait.OriginalL'auteur dimo414
Vous devez fermer le flux de données avant de les supprimer.
e.g -
OriginalL'auteur vsharma
Si le répertoire n'est pas vide alors
File.delete()
méthode renvoie false, sans jeter une Erreur.Vous devez le nettoyage du répertoire avant de le supprimer.
OriginalL'auteur Akshay Shinde
Cela signifie que le fichier est existant, mais votre processus java n'avez pas la permission de supprimer.C'est pourquoi supprimer la fonction retourne false
Returns:
true if and only if the file or directory is successfully deleted; false otherwise
OriginalL'auteur Renjith