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 :

File.delete() ne marche pas


Sujet :

Entrée/Sortie Java

  1. #1
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 55
    Points : 45
    Points
    45
    Par défaut File.delete() ne marche pas
    Bonjour,

    j'essai de lire un fichier avec un programme java en utilisant la classe scanner et dès que le scan est terminé je fais un
    et puis un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while(file.exists())
          {
          file.delete();
          }
    Le problème,c'est que le fichier n'est pas supprimé,ce qui me laisse croire qu'il est toujours en écriture.J'ai essayé également de faire une tentative de suppression chaque seconde pendant une heure et ça ne marche pas .
    une idée?

    Merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 338
    Points : 402
    Points
    402
    Par défaut File.delete
    Salut
    As tu vérifier que le fichier exist bien? tu t'es pas trompé sur le chemin??
    vérifie si file.exists() retourne true avant suppression.

    a++

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Est-ce qu'avec http://commons.apache.org/io/api-rel...e(java.io.File) ça marche mieux?

    Sinon c'est qu'il y a un pointeur encore ouvert sur le fichier; soit par ton application; soit par une autre (le serveur d'application par ex).

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 50
    Points
    50
    Par défaut
    Oui c'est sûrement dû au fait qu'il existe d'autres flots ouverts sur le fichier.
    Mais comment faire pour fermer tous les pointeurs sur le fichier afin que la suppression réussisse ?

    Merci d'avance

  5. #5
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par amelia Voir le message
    Mais comment faire pour fermer tous les pointeurs sur le fichier afin que la suppression réussisse ?
    Il faut toujours libérer proprement les ressources...


    A moins que le fichier ne soit ouvert par une autre application...

    a++

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 50
    Points
    50
    Par défaut
    Merci adiGuba. Je vais tenter try/finally!
    Donc d'après ce que j'ai compris, il n'y a vraiment pas de méthode qui permette de fermer tous les flux dirigés sur un fichier ?

    Merci pour l'aide

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 50
    Points
    50
    Par défaut
    s'il vous plait, connaissez vous une méthode pour fermer d'un seul coup tous les flux ouverts d'un fichier? afin de pouvoir le supprimer à coup sûr!
    merci

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Non il n'y a rien de magique pour faire ça, il faut être rigoureux c'est tout.
    La méthode et/ou objet qui ouvre un flux est responsable de le fermer, voir le lien d'adiGuba pour la mise en oeuvre.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 50
    Points
    50
    Par défaut
    Très bien, là au moins ça mérite d'être clair!
    Dorénavant j'utilise la démarche proposée par le lien d'adiGuba et ça marche pour le moment .

    Merci à tous!

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 50
    Points
    50
    Par défaut
    y a pas moyen de mettre "Resolu", je pense que c'est parce que ce n'est pas moi qui ai lancé la discussion.

    Good Luck!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] delete na marche pas
    Par fk04 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 08/02/2010, 11h03
  2. SQL Merge into - delete ne marche pas
    Par Javotte dans le forum Langage SQL
    Réponses: 1
    Dernier message: 30/06/2008, 09h29
  3. [MySQL] DELETE en cascade..ma requete ne marche pas
    Par debie1108 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 21/10/2006, 16h54
  4. Mon Delete ne marche pas!Comment faire?
    Par ghan77 dans le forum Bases de données
    Réponses: 4
    Dernier message: 24/01/2006, 16h45
  5. aperçu d image avec input type file marche pas dans ffx
    Par siddh dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/11/2005, 09h11

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