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

Java Discussion :

Ecrire à la fin du fichier


Sujet :

Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 110
    Points : 53
    Points
    53
    Par défaut Ecrire à la fin du fichier
    Bonjour,

    je suis en train de parcourir un tableau de String et à chaque passage j'aimerai écrire l'élément courant dans le fichier, seulement il ne m'écrit que le 1er élément, pour les autres j'ai un message d'erreur

    Mon code:
    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
     
    for(int i=0; i<tab.lenght;i++) {
    writeFile(tab[i]);
    }
     
     
     
    	public void writeFile(String argContenu) {
    		try {		
    			String tex = argContenu;
     
    			fos.write(tex.getBytes());
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
     
    		closeFile();
    	}
    Message d'erreur:
    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
    25
    26
     
    12:07:23,017 ERROR [STDERR] java.io.IOException: Write error
    12:07:23,017 ERROR [STDERR] 	at java.io.FileOutputStream.writeBytes(Native Method)
    12:07:23,017 ERROR [STDERR] 	at java.io.FileOutputStream.write(Unknown Source)
    12:07:23,017 ERROR [STDERR] 	at traitements.Writer.writeFile(Writer.java:33)
    12:07:23,017 ERROR [STDERR] 	at CategoriesProblemes.doGet(CategoriesProblemes.java:116)
    12:07:23,017 ERROR [STDERR] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    12:07:23,017 ERROR [STDERR] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    12:07:23,017 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    12:07:23,017 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    12:07:23,017 ERROR [STDERR] 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    12:07:23,017 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    12:07:23,017 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    12:07:23,017 ERROR [STDERR] 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    12:07:23,017 ERROR [STDERR] 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    12:07:23,017 ERROR [STDERR] 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
    12:07:23,017 ERROR [STDERR] 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
    12:07:23,017 ERROR [STDERR] 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    12:07:23,017 ERROR [STDERR] 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    12:07:23,017 ERROR [STDERR] 	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
    12:07:23,017 ERROR [STDERR] 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    12:07:23,017 ERROR [STDERR] 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
    12:07:23,017 ERROR [STDERR] 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    12:07:23,017 ERROR [STDERR] 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    12:07:23,017 ERROR [STDERR] 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
    12:07:23,017 ERROR [STDERR] 	at java.lang.Thread.run(Unknown Source)
    comment faire ?


    merci d'avance

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Citation Envoyé par jacko2 Voir le message
    comment faire ?
    En ne fermant pas ton fichier après l'écriture du premier élément (ta méthode "closeFile()") mais après avoir écrit tous tes éléments...

    Je te conseille d'aller lire la FAQ sur l'écriture dans un fichier et sur la manière de gérer correctement des flux (fermeture et libération de ressources).

  3. #3
    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, je pense que c'est parce que dans ta méthode closeFile() tu fermes le FileOutputStream et que tu tentes d'écrire à nouveau.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 110
    Points : 53
    Points
    53
    Par défaut
    du coup ça fonctionne mieux

    j'avais completement oublié l'appelle de la méthode close

    merci

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

Discussions similaires

  1. Ecrire en fin de fichier
    Par modafine dans le forum C++
    Réponses: 4
    Dernier message: 22/01/2009, 11h21
  2. Ecrire à la fin d'un fichier
    Par Razgriz dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 20/10/2007, 13h00
  3. Ecrire à la fin d'une ligne *antérieure* à la fin d'un fichier
    Par samsap31 dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 07/08/2007, 17h51
  4. ecrire à la fin d'un fichier
    Par bonjour69 dans le forum C
    Réponses: 2
    Dernier message: 20/04/2007, 11h17
  5. Deplacer le curseur pour ecrire en fin de fichier
    Par deathsurfer dans le forum C
    Réponses: 2
    Dernier message: 06/11/2006, 23h23

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