Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1766 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] Ecrire a la fin d'un fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JAVA] Ecrire a la fin d'un fichier

n°383316
davidbator
Posté le 05-05-2003 à 19:57:27  profilanswer
 

Je cherche désespérément à écrire à la fin d?un fichier. En faite, chaque fois que je vais ouvrir un fichier je veux pouvoir conserver ce qu?il y a dedans et rajouter des donnes à la fin, ça parait stupide mais j?ai pas réussit (je suis débutant qu cas ou vous l?auriez pas deviné).
 
Merci d?avance  

mood
Publicité
Posté le 05-05-2003 à 19:57:27  profilanswer
 

n°383321
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 05-05-2003 à 20:00:37  profilanswer
 

Le plus simple est d'utiliser la classe java.io.RandomAccessFile (tu peux aussi jouer avec le package java.nio qui est super pratique pour ce genre de manips mais si t'es débutant, je sais pas si c'est conseillé ; j'en sais rien en fait). Ensuite tu te positionne à la fin de ton fichier en t'aidant des méthodes length() et seek(). Là-dessus, tu fais un write() et tu gagnes la guerre.
Si t'as le temps et l'envie, fouille un peu du côté de java.nio, c'est un package très bien fait et assez intuitif une fois qu'on a compris le principe de fonctionnement :)


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°383349
davidbator
Posté le 05-05-2003 à 20:29:39  profilanswer
 

Merci beaucoup, je vais essayer ta premiere proposition.

n°383362
benou
Posté le 05-05-2003 à 20:45:56  profilanswer
 


le plus simple c'est de faire un append en mettant à vrai le 2e paramêtre du constructeur :
 

Code :
  1. FileOutputStream(String name, boolean append)


 
ou
 

Code :
  1. FileWriter(String fileName, boolean append)



---------------
ma vie, mon oeuvre - HomePlayer
n°383363
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 05-05-2003 à 20:47:05  profilanswer
 

Ah ouais [:ddr555]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°383366
the real m​oins moins
Posté le 05-05-2003 à 20:47:36  profilanswer
 

:cry: ce topic revient tout le temps :cry:
 
y'a un constructeur des Writer qui prend un boolean pour "append" :cry:
 
http://java.sun.com/j2se/1.4.1/doc [...] 20boolean)
 
 
edit: tiens, since 1.4 :??:
ha non il etait deja en 1.3 avec un String filename
http://java.sun.com/j2se/1.3/docs/ [...] 20boolean)
 
 
edit2: top grillé. tout ça parce que je trouve jamais l'url de la javadoc sur le net :o


Message édité par the real moins moins le 05-05-2003 à 20:48:39

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°383573
benou
Posté le 05-05-2003 à 23:31:52  profilanswer
 

débutant ! :o
 
suffit tu tapper le nom de la classe dans google ! ;)
 
sinon, ouais c'est nul : le booleen append existait pas avec un peremêtre File jusqu'à la jdk 1.4  :sweat:  falait repasser par la String


---------------
ma vie, mon oeuvre - HomePlayer
n°383591
the real m​oins moins
Posté le 05-05-2003 à 23:39:07  profilanswer
 

benou a écrit :

débutant ! :o
 
suffit tu tapper le nom de la classe dans google ! ;)
 

ben euh non justement :o
(enfin je tape tjs javadoc ClassName et puis c jamais bon :o)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°383602
benou
Posté le 05-05-2003 à 23:46:06  profilanswer
 
n°383604
the real m​oins moins
Posté le 05-05-2003 à 23:47:03  profilanswer
 

oui oui mais si tu fous javadoc devant c mort :/


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
mood
Publicité
Posté le 05-05-2003 à 23:47:03  profilanswer
 

n°383607
benou
Posté le 05-05-2003 à 23:53:44  profilanswer
 

the real moins moins a écrit :

oui oui mais si tu fous javadoc devant c mort :/


yakapa ! :o


---------------
ma vie, mon oeuvre - HomePlayer
n°383712
artemice
( - ;
Posté le 06-05-2003 à 08:49:47  profilanswer
 

le plus simple c (surtout pour un débutant...)  
1/ je lis et stock en string!
2/ je construit le nouveau fichier
3/ je réécri la string
 
==> propre simple éfficace et applicable à n'importe quel langage!!!

n°383751
benou
Posté le 06-05-2003 à 09:16:46  profilanswer
 

artemice a écrit :

le plus simple c (surtout pour un débutant...) ...


ben non. Le plus simple c'est d'ajouter 5 caractères à du code poru que ca marche : ",true"

n°385002
artemice
( - ;
Posté le 06-05-2003 à 19:22:26  profilanswer
 

:jap: d'accord mais bon .... au moin il serait déjà passé autre chose! :kaola:

n°1232290
white-rabb​it
oOps !
Posté le 27-10-2005 à 12:00:16  profilanswer
 

Salut, je debute et je me trouve egalement confronté à ce pb.
voici le code que j'utilise pour écrire dans mon fichier:
 

Code :
  1. // Ecrit simplement dans un fichier
  2. // Doit completer le fichier à chaque execution
  3. // Test:  
  4. import java.io.*;
  5. class EcritDansFichier2
  6. {
  7.         public static void main(String args[])
  8.         {             
  9.                 FileOutputStream out; // declare a file output object
  10.                 PrintStream p; // declare a print stream object
  11.                 try
  12.                 {
  13.                         // Create a new file output stream
  14.                         // connected to "myfile.txt"
  15.                         out = new FileOutputStream("EcritDansFichier2_test.txt" );
  16.                         // Connect print stream to the output stream
  17.                         p = new PrintStream( out );
  18.                         p.println ("Test 2 " );
  19.                         p.close();
  20.                 }
  21.                 catch (Exception e)
  22.                 {
  23.                         System.err.println ("Error writing to file" );
  24.                 }
  25.         }
  26. }


 
j'ai essayé comme vous avez dis precedement d'ajouter boolean append dans la ligne du FileInputStream, mais ça me cause une erreur à l'execution.
La solution de lire le fichier, en faire un String, regenerer et recopier dans un fichier fonctionne, mais je prefererais ne pas avoir à faire tout cela si c'est possible...
Avez vous une suggestion pour mon code?
Merci


---------------
>> Portfolio: www.MyDeclic.com
n°1232308
sircam
I Like Trains
Posté le 27-10-2005 à 12:20:24  profilanswer
 

- Mauvaise gestion des exceptions.
- Quelle erreur ??
 
[:pingouino]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1232353
white-rabb​it
oOps !
Posté le 27-10-2005 à 12:57:31  profilanswer
 

Pourquoi vous me dites mauvaises gestions des exceptions?
 
L'erreur que j'ai est:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:  
 Syntax error on token "boolean", delete this token
 
 at EcritDansFichier2.main(EcritDansFichier2.java:19)
 
 
qd j'ajoute boolean append à la ligne 19


---------------
>> Portfolio: www.MyDeclic.com
n°1232363
phnatomass
Je m'empare de ton esprit !!
Posté le 27-10-2005 à 13:10:00  profilanswer
 

faut pas rajouter "boolean append", mais true

n°1232365
white-rabb​it
oOps !
Posté le 27-10-2005 à 13:12:57  profilanswer
 

Merci bcp phnatomass !!
Je n'avais pas compris comme ça l'utilisation de la fonction.
Je vais maintenant pouvoir tester les autres possibilités  
Un grd merci


---------------
>> Portfolio: www.MyDeclic.com
n°1232378
phnatomass
Je m'empare de ton esprit !!
Posté le 27-10-2005 à 13:27:23  profilanswer
 

As tu regardé la javadoc de FileOutputStream quand tu as eu ton exception ?

n°1232382
white-rabb​it
oOps !
Posté le 27-10-2005 à 13:30:32  profilanswer
 

oui j'etais dessus, mais je n'avais pas compris ce qu'il fallait faire avec true, boolean...
maintenant je pense avoir mieux compris comment utiliser la javadoc


---------------
>> Portfolio: www.MyDeclic.com
n°1232388
sircam
I Like Trains
Posté le 27-10-2005 à 13:33:08  profilanswer
 

[:mlc]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1232615
vb11
Posté le 27-10-2005 à 15:45:58  profilanswer
 

--> White-rabbit
Dans le constructeur de PrintStream, rajoute un ",true" ou bien rajoute un p.flush(); après le p.write(xxx);  
Ca t'évitera des soucis...
 

n°1232676
sircam
I Like Trains
Posté le 27-10-2005 à 16:27:29  profilanswer
 

Les soucis ne seront qu'en partie évités avec une mauvaise gestion des exceptions...


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1232737
masklinn
í dag viðrar vel til loftárása
Posté le 27-10-2005 à 17:02:00  profilanswer
 

the real moins moins a écrit :

oui oui mais si tu fous javadoc devant c mort :/


L'autre solution, c'est d'aller sur la page Search J2SE Documentation (là c'est pour Java5, mais les autres sont dispos aussi), et si t'es sous Firefox tu clickette du bouton droit dans la textbox puis tu sélectionnes "Add a Keyword for this search...", tu donnes un nom à ton machin (genre "Javadoc J2SE Java5" ), un préfixe simple (jd), tu le fous dans le répertoire "Quick Searches", et t'as plus qu'à taper "jd NomDeTaClasse" pour taper une recherche dessus :o
 
(il y a ptet un moyen d'aller directement sur l'article, dans le style "I'm Feeling Lucky", mais bon je l'ai pas encore trouvé)
 
edit: trouvé, suffit d'utiliser le formulaire de recherche de Javadocs :o
eedit: merdoum, à partir de javadocs ça marche pas [:sisicaivrai]
 
Ya un bookmarklet, et tu peux l'ajouter à tes moteurs de recherche FF par contre
 
eeedit: ça marche pas parce que ces boulets n'utilisent pas le submit standard, ils passent par du JS [:pingouino]

Message cité 1 fois
Message édité par masklinn le 27-10-2005 à 17:07:44

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1232792
lorill
Posté le 27-10-2005 à 17:37:25  profilanswer
 


c'est bien beau tout ca, mais la remarque date de 2003 :o

n°1232795
sircam
I Like Trains
Posté le 27-10-2005 à 17:41:48  profilanswer
 

lorill a écrit :

c'est bien beau tout ca, mais la remarque date de 2003 :o


Ouais, et mwin mwin sévissait déjà sur ce forum.    [:pingouino]  
 
Je ne sais pas si pingouino existait déjà.    [:pingouino]  
 
Putain comme le temps file, hein.   [:pingouino]  
 
   [:pingouino]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1232808
phnatomass
Je m'empare de ton esprit !!
Posté le 27-10-2005 à 17:57:59  profilanswer
 

Le pire j'ai lu la file sans me rendre compte qu'elle avait été initier à cette époque

n°1232818
sircam
I Like Trains
Posté le 27-10-2005 à 18:06:48  profilanswer
 

Merci à white-rabbit pour ce topic revival. [:dawa]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1232922
masklinn
í dag viðrar vel til loftárása
Posté le 27-10-2005 à 20:02:15  profilanswer
 

lorill a écrit :

c'est bien beau tout ca, mais la remarque date de 2003 :o


Et merde [:sisicaivrai]
 
S'pas grave, ça peut servir à des gens :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1233110
the real m​oins moins
Posté le 28-10-2005 à 00:33:27  profilanswer
 

ué ben, mtnt, je fous plus "javadoc" dans mes recherches google, et le moteur de recherche sur la javadoc online n'existait pas à l'epoque :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1233166
sircam
I Like Trains
Posté le 28-10-2005 à 09:07:35  profilanswer
 

the real moins moins a écrit :

n'existait pas à l'epoque :o


Ca te rajeunit pas, hein. [:dawa]


Message édité par sircam le 28-10-2005 à 09:07:41

---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1233325
the real m​oins moins
Posté le 28-10-2005 à 11:42:12  profilanswer
 

no [:natas]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1233694
white-rabb​it
oOps !
Posté le 28-10-2005 à 16:48:16  profilanswer
 

merci  ;)
 

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] Ecrire a la fin d'un fichier

 

Sujets relatifs
[JAVA]static..........[PHP] Rechercher dans un fichier .doc
[JAVA] C'est quoi une LinkedList..?[C] j'ai un probleme pour écrire dans un fichier
[JAVA]graphe+liste d'adjacence+tri topologique[JAVA] Connection à un ftp
ecrire et lire dans un fichier en visual basic 6 ?Enregistrer une extension de fichier auprès de Microsoft ?
Java : lire/écrire dans un fichier des objets directement : possible ? 
Plus de sujets relatifs à : [JAVA] Ecrire a la fin d'un fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR