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 :

Path + A la fermeture d'une fenetre


Sujet :

Entrée/Sortie Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 60
    Points : 34
    Points
    34
    Par défaut Path + A la fermeture d'une fenetre
    Bonjour,

    Je voudrais que quand je ferme la fenetre de mon programme JAVA, je supprime les fichiers que j'ai créé.

    J'ai fait ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    frame.addWindowListener(new WindowAdapter()
        	{
        	    public void windowClosing(WindowEvent e)
        	    {
        	    	File value_file = new File("C:/Documents and Settings/jr6142/Desktop/value_file");
        	    	File paramLHS_file = new File("C:/Documents and Settings/jr6142/Desktop/paramLHS_file");
        	    	File dir_file = new File("C:/Documents and Settings/jr6142/Desktop/dir_file");
        	    	value_file.delete(); 
        	    	paramLHS_file.delete();
        	    	dir_file.delete();
        	    }
        	});
    mais

    1) ca ne marche pas !!

    2) je voudrais éviter de le coder en dur... Comment peut on retrouver le path de l'endroit ou se trouve mon programme (fichiers .java, .class) ??


    Merci par avance

  2. #2
    Membre chevronné
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Points : 2 197
    Points
    2 197
    Par défaut
    Bonjour, il existe la méthode deleteOnExit dans la class File. Il suffit de l'appeler au moment où tu créés tes fichiers.

  3. #3
    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 zz2f3 Voir le message
    1) ca ne marche pas !!
    Le fichier est surement toujours ouvert par ton application...

    A la rigueur tu pourrais utiliser deleteOnExit() à la place.

    Attention : ne pas utiliser deleteOnExit() sur une application serveur ou avec une grande quantité de données, car il y a un risque de fuite de mémoire...

    Citation Envoyé par zz2f3 Voir le message
    2) je voudrais éviter de le coder en dur... Comment peut on retrouver le path de l'endroit ou se trouve mon programme (fichiers .java, .class) ??
    Pourquoi mettre ces fichiers dans le répertoire de ton application ?

    • Soit il s'agit de fichier temporaire, et dans ce cas il vaut mieux utiliser File.createTempFile() pour les créer.
    • Soit il s'agit de fichier de config, et dans ce cas il vaut mieux créer un dossier dans le répertoire HOME de l'utilisateur :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      File dir = new File(System.getProperty("user.home"), ".MonAppli");



    a++

  4. #4
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 60
    Points : 34
    Points
    34
    Par défaut
    Merci pour vos réponses aussi rapide.... mais en fait j'utilise des PrintWriter pour créer mes fichiers dans lesquels je vais écrire....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PrintWriter value_file = new PrintWriter( new FileWriter("value_file"),true );
    et je n'ai pas trouvé de méthode identique à celle que tu m'as conseillé pour les "File".

    Le code que je donnais précédemment était en quelques sortes une "supercherie" pour pouvoir les effacer... (mais ça ne marche pas....)

    Ou alors comment faire pour créer mes fichiers avec un "File" pour pouvoir utiliser ta méthode deleteonclose() et pouvoir écrire dedans (sans changer tout mon code.... je n'utilise que des Printwriter et j'utilise des simples "file_value.println()" pour écrire dedans !)

    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
    Citation Envoyé par zz2f3 Voir le message
    et je n'ai pas trouvé de méthode identique à celle que tu m'as conseillé pour les "File".
    Ben tu passes simplement le file ainsi créé à ton FileWriter, plutôt que de passer le nom du fichier...

    Citation Envoyé par zz2f3 Voir le message
    Le code que je donnais précédemment était en quelques sortes une "supercherie" pour pouvoir les effacer... (mais ça ne marche pas....)
    Si cela ne marche pas c'est que ton fichier est toujours ouvert : Libérer les ressources


    a++

  6. #6
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 60
    Points : 34
    Points
    34
    Par défaut
    Alors
    - il les crée et les efface à la fin ==> ca c'est TOP !
    MAIS
    - ça n'ecrit plus rien dedans.... ==> ca c'est pas cool !!

    Voilà ce que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    File value = new File(System.getProperty("user.home"), "value_file");
    value.deleteOnExit();
    PrintWriter value_file = new PrintWriter(value);
     
    // et lorsque j'écris dedans :
    value_file.println("Bla bla bla");
    Pourquoi ça n'écrit rien dedans ??

  7. #7
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 60
    Points : 34
    Points
    34
    Par défaut
    C'est bon...

    J'avais oublier de fermer le flux....

    Merci

    il fallait rajouter (pour ceux que ca interresse) :


  8. #8
    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
    Citation Envoyé par zz2f3 Voir le message
    J'avais oublier de fermer le flux....
    Ben il faut lire les réponses j'en ai parlé 2 fois :

    Citation Envoyé par adiGuba Voir le message
    Le fichier est surement toujours ouvert par ton application...
    Citation Envoyé par adiGuba Voir le message
    Si cela ne marche pas c'est que ton fichier est toujours ouvert : Libérer les ressources
    a++

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

Discussions similaires

  1. [debutant] Pb fermeture d une fenetre
    Par yup dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 21/06/2006, 18h48
  2. Fermeture d'une fenetre
    Par gamerome dans le forum GLUT
    Réponses: 1
    Dernier message: 20/12/2005, 11h23
  3. [ApplicationFrame][jfreechart]fermeture d'une fenetre
    Par cmoa59 dans le forum Agents de placement/Fenêtres
    Réponses: 32
    Dernier message: 15/06/2005, 11h41
  4. evenement a la fermeture d' une fenetre
    Par Sh. dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 16/03/2005, 14h30
  5. Detecter la fermeture d'une fenetre MsDos
    Par Akta3d dans le forum C++Builder
    Réponses: 2
    Dernier message: 13/07/2004, 17h53

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