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 :

Fermeture de fichier


Sujet :

Entrée/Sortie Java

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 422
    Points : 201
    Points
    201
    Par défaut Fermeture de fichier
    Bonjour,

    Dans mon code java, je crée une instance de la classe File.

    File inputFile = new File("monfichier.txt");

    Je constate que lorsque j'ouvre et que je modifie le fichier, il est toujours locké.

    Ma question est donc est de savoir pourquoi ? Je pense qu'il est toujours ouvert parce que je n'ai pas fais de close.

    Je n'ai pas fait de inputFile.close() puis que la classe File ne contient pas cette méthode.

    Alors que faire ?

    Merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 154
    Points : 143
    Points
    143
    Par défaut
    Salut,

    Quand tu parles d'ouvrir et modifier le fichier je suppose que tu le fais hors Java (un éditeur de texte quelconque par exemple). non?

    Que fais tu comme opération sur ce fichier?

    Si tu en a compétement fini avec lui, as tu essayé de le mettre à null (et d'éventuellement lancer le garbage collector [ mais je ne suis pas sur que celà fasse quelquechose])?
    Bonne chance, Bonne journée, bonne année bonne santée et etc ...
    Youpi la vie est belle ! Et vive la fraicheur

  3. #3
    Membre actif
    Inscrit en
    Juillet 2003
    Messages
    407
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 407
    Points : 252
    Points
    252
    Par défaut
    c pas comme ça qu'on ouvre un fichier pou ecriture
    ça c juste la déclaration de l'objet file

    regarde du coté de FileReader et Filewriter
    ;-) cordialement

  4. #4
    Membre habitué Avatar de Oui-Oui MB
    Homme Profil pro
    Architecte technique
    Inscrit en
    Avril 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Avril 2005
    Messages : 111
    Points : 127
    Points
    127
    Par défaut
    Ou encore FileInputStream et FileOutputStream pour être complet...
    Que la Schtuche soit avec vous !!!

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 422
    Points : 201
    Points
    201
    Par défaut
    Au fait je redemande à l'application de refaire la meme operation de lecture.

    Ce que je fait, c'est lire ligne par ligne le fichier et de copier le contenu dans la base de données Oracle dans une colonne de type Clob.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 154
    Points : 143
    Points
    143
    Par défaut
    Pour celà, il me semble qu'il suffit que tu ferme ton Reader ou ta OutputStream (méthode close il me semble). De préférence, il faut toujours fermer un flux une fois que l'on a fini de s'en servir.
    Bonne chance, Bonne journée, bonne année bonne santée et etc ...
    Youpi la vie est belle ! Et vive la fraicheur

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 422
    Points : 201
    Points
    201
    Par défaut
    Que ce passe t'il si je rentre en exception ?

    Ettant donné que l'instance est créé dans le bloc try.

    Je n'ai plus cette instance de le bloc exception et donc ne sais plus faire de close !

    Java le fait-il automatiquement ?

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 154
    Points : 143
    Points
    143
    Par défaut
    Déclare ton instance avant le try et initialise la à l'intérieure.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    TonObjet instance = null;
    try{
     ...
     instance = new TonObjet();
     ...
    }catch(Exception e){
     // tu fais ce que tu veux ic avec ton instance (mais vérifie d'abord qu'elle a été initialisée
      if(instance!=null){
      }
    }
    Si tu fais tout ton traitement dans le bloc try catch, tu peux aussi fermer dans le bloc finally (où l'on passe qu'il y ait eu une exception ou pas) en vérifiant toujours que l'instance n'est pas nulle
    Bonne chance, Bonne journée, bonne année bonne santée et etc ...
    Youpi la vie est belle ! Et vive la fraicheur

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 422
    Points : 201
    Points
    201
    Par défaut
    Je vais essayer de faire cela,

    Je vous tiendrai informé du résultat

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 422
    Points : 201
    Points
    201
    Par défaut
    Marche pas

    0 la compil tout va bien.

    à l'éxécution j'ai ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    java.io.EOFException: Unexpected end of ZLIB input stream
     
    	at java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:156)
     
    	at java.util.zip.InflaterInputStream.read(Compiled Code)
     
    	at java.util.zip.ZipInputStream.read(ZipInputStream.java:104)
     
    	at sun.tools.jar.JarVerifierStream.read(JarVerifierStream.java:206)
     
    	at sun.applet.AppletResourceLoader.loadJar(Compiled Code)
     
    	at sun.applet.AppletResourceLoader.loadJar(AppletResourceLoader.java:223)
     
    	at sun.applet.JinitAppletPanel.loadJarFiles(Compiled Code)
     
    	at sun.plugin.AppletViewer.loadJarFiles(Compiled Code)
     
    	at sun.applet.JinitAppletPanel.runLoader(JinitAppletPanel.java:580)
     
    	at sun.applet.JinitAppletPanel.run(Compiled Code)
     
    	at java.lang.Thread.run(Thread.java:466)

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 154
    Points : 143
    Points
    143
    Par défaut
    A mon avis (mais je peux me tromper) tu dois avoir un des jars chargés qui n'est pas bon (format je parle). Essaie de tous les ouvrir pour voir s'il n'y en a pas un qui est "corrompu"
    Bonne chance, Bonne journée, bonne année bonne santée et etc ...
    Youpi la vie est belle ! Et vive la fraicheur

  12. #12
    Membre actif
    Inscrit en
    Juillet 2003
    Messages
    407
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 407
    Points : 252
    Points
    252
    Par défaut
    il ya un pb avec ton end of file , la fin de ton fichier
    ;-) cordialement

  13. #13
    Membre actif
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 422
    Points : 201
    Points
    201
    Par défaut
    Ok, c'était le jar et la signature de celui-ci qui on mit le bronx au code.

    J'ai resigné convenablement et tout fonctionne.

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

Discussions similaires

  1. [DOM] probleme de fermeture de fichier xml apres modification
    Par bibi73 dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 08/04/2008, 16h13
  2. Lancement et fermeture de fichier exécutable
    Par manue22 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 19/04/2007, 18h47
  3. Probleme de fermeture de fichier
    Par franc82 dans le forum C++
    Réponses: 1
    Dernier message: 08/11/2006, 17h14
  4. [VBA-E] fermeture de fichier et curseur de souris
    Par thitoux dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 31/08/2006, 13h17
  5. Pb de fermeture de fichiers .js
    Par Cako19 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 27/12/2005, 15h17

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