IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Effacer un fichier sur le disque local


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 26
    Par défaut Effacer un fichier sur le disque local
    Bonjour,
    j'aimerai effacer un fichier situé sur mon disque C: depuis mon application java, et j'utilise pour cela le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    File DeleteLocalDoc = new File("c:\\temp\\monfichier.odt");
    DeleteLocalDoc.delete();
    mais aucune suppression ne s'effectue, et aucune erreur n'est retournée...
    Si je fais la supression manuelement, il s'efface correctement, il n'est donc pas ouvert quelque part ce qui empêcherai la suppression...

    Quelqu'un a t-il une idée?
    Merci à ceux qui passeront du temps sur ma question.

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par error
    mais aucune suppression ne s'effectue, et aucune erreur n'est retournée...
    Tu veux dire par là que delete() retourne true et que le fichier n'est pas supprimé ??? Tu es sûr de cela ???


    Citation Envoyé par error
    Si je fais la supression manuelement, il s'efface correctement, il n'est donc pas ouvert quelque part ce qui empêcherai la suppression...
    Ne serait-il pas ouvert par ton programme Java par hasard ?

    a++

  3. #3
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 26
    Par défaut
    Citation Envoyé par adiGuba
    Tu veux dire par là que delete() retourne true et que le fichier n'est pas supprimé ??? Tu es sûr de cela ???
    Je ai modifié mon code afin de savoir ce que retourne ma fonction ".delete()" et je recois un "false" (au moins là, il a raison...) mais pourquoi n'est il pas possible de le supprimer, et pourquoi n'ai-je pas de message d'erreur dans ma console?

    Citation Envoyé par adiGuba
    Ne serait-il pas ouvert par ton programme Java par hasard ?
    Non, car en mode Debug, j'ai passé l'étape effacer, puis j'ai regardé dans le dossier (sans oublier le refresh evidement) et il était toujours là. J'ai donc fait une tentative manuellement sans passer à une étape suivante dans le Debug afin de voir si il était possible de l'effacer à ce stade là, et là ca marche (je parle de la methode manuelle là.).
    J'ai aussi regardé dans le task manager, et le processus (soffice.bin, pour fichier OpenOffice) n'est pas en route...

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par error
    Je ai modifié mon code afin de savoir ce que retourne ma fonction ".delete()" et je recois un "false" (au moins là, il a raison...)
    Donc c'est tout à fait normal que le fichier ne soit pas supprimé...

    Citation Envoyé par error
    mais pourquoi n'est il pas possible de le supprimer,
    La gestion des fichiers est très dépendante du système d'exploitation, et il y a de multiple raison pour lesquel un fichier ne peut pas être supprimé (et particulièrement sous Windows).
    Cela en résulte à une API Java particulièrement pauvre en ce domaine (pas d'exception par exemple)

    Citation Envoyé par error
    et pourquoi n'ai-je pas de message d'erreur dans ma console?
    Je ne vois aucun traitement particulier dans ton code en cas d'erreur... donc je ne vois pas pourquoi il devrait y avoir un message d'erreur !


    Citation Envoyé par error
    Non, car en mode Debug, j'ai passé l'étape effacer, puis j'ai regardé dans le dossier (sans oublier le refresh evidement) et il était toujours là.
    Ce fichier est-il utilisé par ton application Java avant cette phase de suppression ? Si oui comment ?

    a++

  5. #5
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Relis bien ton code, au début je me faisait b.... comme toi parce j'oubliais de fermer les flux lorsque je lisais/écrivais dans un fichier.

  6. #6
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 26
    Par défaut
    Citation Envoyé par adiGuba
    Je ne vois aucun traitement particulier dans ton code en cas d'erreur... donc je ne vois pas pourquoi il devrait y avoir un message d'erreur !
    Je pensais que une action qui ne s'effectue pas pour une raison ou pour une autre affichait automatiquement une erreur en console, même si il n'ya pas un "try" autour. Visiblement pas, j'ai au moins appris qqchose !

    Citation Envoyé par adiGuba
    Ce fichier est-il utilisé par ton application Java avant cette phase de suppression ? Si oui comment ?
    Ce fichier est un fichier texte pour OpenOffice.org (OOo), je l'utilise avec les api d'openoffice qui permettent d'accèder à mes fichiers avec du java. Pour ouvrir le document il faut utiliser le constructeur xDesktop (qui est dans l'api d'OOo).
    Avant de supprimer mon fichier, je fais un qui ferme proprement et completement (selon les developpeurs OOo) les modules openoffice (il n'ya donc plus de liens vers ce fichier). Je n'ouvre pas d'une autre manière ce fichier, et ma manière fonctionne, car dès que cette commande est effectuée, le processus n'apparait plus dans le TaskManager...

Discussions similaires

  1. Copier un fichier distant sur un disque local
    Par persia dans le forum Langage
    Réponses: 6
    Dernier message: 21/09/2011, 18h42
  2. copier un fichier sur mon disque en local
    Par apmiguel69 dans le forum Langage
    Réponses: 8
    Dernier message: 07/02/2010, 21h07
  3. [Debutant] Applet listant les fichiers sur le disque
    Par romu92 dans le forum Applets
    Réponses: 2
    Dernier message: 05/05/2006, 09h26
  4. Effacer un répertoire sur un disque
    Par sfaxi dans le forum Oracle
    Réponses: 1
    Dernier message: 23/11/2005, 12h14
  5. commande pour trouver un fichier sur le disque dur...
    Par angelevil dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 11/11/2005, 00h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo