J'ai vraiment du mal à utiliser les flux, malgré toutes les docs que j'ai pu
trouver. J'ai pourtant l'impression que ce que je veux faire n'est pas
compliqué, mais bon, en attendant, je n'y arrive pas. Voilà donc mon
problème :
Mon objectif est de modifier un fichier xml, mettre le résultat dans un
tampon, puis lire ce tampon pour parser le contenu.
J'arrive à copier le contenu du fichier dans le tampon, mais comment fait on
pour lire le contenu ??!!
voici mon code :
private BufferedWriter tampon = new BufferedWriter(new CharArrayWriter());
à chaque fois, j'écris dedans via
tampon.write(mesdonnees);
Je fais donc toutes mes opérations de cette manière, mais comment je fais
pour récupérer mes données pour les donner à manger à mon parseur sous la
forme d'un Reader ?? Est ce que je n'utilise pas les bons type de flux ??
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
jerome moliere
Vinz wrote:
salut tout le monde,
J'ai vraiment du mal à utiliser les flux, malgré toutes les docs que j'ai pu trouver. J'ai pourtant l'impression que ce que je veux faire n'est pas compliqué, mais bon, en attendant, je n'y arrive pas. Voilà donc mon problème : Mon objectif est de modifier un fichier xml, mettre le résultat dans un tampon, puis lire ce tampon pour parser le contenu. J'arrive à copier le contenu du fichier dans le tampon, mais comment fait on pour lire le contenu ??!! voici mon code : private BufferedWriter tampon = new BufferedWriter(new CharArrayWriter());
à chaque fois, j'écris dedans via tampon.write(mesdonnees);
Je fais donc toutes mes opérations de cette manière, mais comment je fais pour récupérer mes données pour les donner à manger à mon parseur sous la forme d'un Reader ?? Est ce que je n'utilise pas les bons type de flux ??
attention: en utilisant des Reader/Writer tu manipules l'encoding par defaut de ta JVM.... ce n'est peut etre pas ce que tu souhaites... pour regler ton probleme (au moins dans l'esprit) je te conseillerai d'utiliser un StringWriter permettant de faire un toString a la fin de ta lecture de flux puis d'obtenir un stringreader a partir de cette string et hop...
Jerome -- Auteur cahier du programmeur Java tome 2 - Eyrolles 10/2003 http://www.eyrolles.com/php.informatique/Ouvrages/ouvrage.php3?ouv_ean1382212111941
Vinz wrote:
salut tout le monde,
J'ai vraiment du mal à utiliser les flux, malgré toutes les docs que j'ai pu
trouver. J'ai pourtant l'impression que ce que je veux faire n'est pas
compliqué, mais bon, en attendant, je n'y arrive pas. Voilà donc mon
problème :
Mon objectif est de modifier un fichier xml, mettre le résultat dans un
tampon, puis lire ce tampon pour parser le contenu.
J'arrive à copier le contenu du fichier dans le tampon, mais comment fait on
pour lire le contenu ??!!
voici mon code :
private BufferedWriter tampon = new BufferedWriter(new CharArrayWriter());
à chaque fois, j'écris dedans via
tampon.write(mesdonnees);
Je fais donc toutes mes opérations de cette manière, mais comment je fais
pour récupérer mes données pour les donner à manger à mon parseur sous la
forme d'un Reader ?? Est ce que je n'utilise pas les bons type de flux ??
attention: en utilisant des Reader/Writer tu manipules l'encoding par
defaut de ta JVM.... ce n'est peut etre pas ce que tu souhaites...
pour regler ton probleme (au moins dans l'esprit) je te conseillerai
d'utiliser un StringWriter permettant de faire un toString a la fin de
ta lecture de flux puis d'obtenir un stringreader a partir de cette
string et hop...
Jerome
--
Auteur cahier du programmeur Java tome 2 - Eyrolles 10/2003
http://www.eyrolles.com/php.informatique/Ouvrages/ouvrage.php3?ouv_ean1382212111941
J'ai vraiment du mal à utiliser les flux, malgré toutes les docs que j'ai pu trouver. J'ai pourtant l'impression que ce que je veux faire n'est pas compliqué, mais bon, en attendant, je n'y arrive pas. Voilà donc mon problème : Mon objectif est de modifier un fichier xml, mettre le résultat dans un tampon, puis lire ce tampon pour parser le contenu. J'arrive à copier le contenu du fichier dans le tampon, mais comment fait on pour lire le contenu ??!! voici mon code : private BufferedWriter tampon = new BufferedWriter(new CharArrayWriter());
à chaque fois, j'écris dedans via tampon.write(mesdonnees);
Je fais donc toutes mes opérations de cette manière, mais comment je fais pour récupérer mes données pour les donner à manger à mon parseur sous la forme d'un Reader ?? Est ce que je n'utilise pas les bons type de flux ??
attention: en utilisant des Reader/Writer tu manipules l'encoding par defaut de ta JVM.... ce n'est peut etre pas ce que tu souhaites... pour regler ton probleme (au moins dans l'esprit) je te conseillerai d'utiliser un StringWriter permettant de faire un toString a la fin de ta lecture de flux puis d'obtenir un stringreader a partir de cette string et hop...
Jerome -- Auteur cahier du programmeur Java tome 2 - Eyrolles 10/2003 http://www.eyrolles.com/php.informatique/Ouvrages/ouvrage.php3?ouv_ean1382212111941
Christophe M
jerome moliere wrote:
Vinz wrote:
salut tout le monde,
J'ai vraiment du mal à utiliser les flux, malgré toutes les docs que j'ai pu trouver. J'ai pourtant l'impression que ce que je veux faire n'est pas compliqué, mais bon, en attendant, je n'y arrive pas. Voilà donc mon problème : Mon objectif est de modifier un fichier xml, mettre le résultat dans un tampon, puis lire ce tampon pour parser le contenu. J'arrive à copier le contenu du fichier dans le tampon, mais comment fait on pour lire le contenu ??!! voici mon code : private BufferedWriter tampon = new BufferedWriter(new CharArrayWriter());
à chaque fois, j'écris dedans via tampon.write(mesdonnees);
Je fais donc toutes mes opérations de cette manière, mais comment je fais pour récupérer mes données pour les donner à manger à mon parseur sous la forme d'un Reader ?? Est ce que je n'utilise pas les bons type de flux ??
attention: en utilisant des Reader/Writer tu manipules l'encoding par defaut de ta JVM.... ce n'est peut etre pas ce que tu souhaites... pour regler ton probleme (au moins dans l'esprit) je te conseillerai d'utiliser un StringWriter permettant de faire un toString a la fin de ta lecture de flux puis d'obtenir un stringreader a partir de cette string et hop...
Jerome
Heuuu , le StringWriter c'est pas un writer ?
Sinon, Vinz, t'es obligé de passer par un BufferedWriter ? Tu peux pas utiliser directement to CharArrayWriter ? Vu que lui a une méthode toString() tu pourras faire comme dit Jérome...
Pour moi les Buffered... n'ont d'intéret que si on travail vers une "interface" physique (fichier sur disque, réseau, etc...) pour permettre de gérer un tampon. Mais pour un travail en mémoire je suis pas convaincu de l'utilité. Peut-être me trompes-je....
Christophe
jerome moliere wrote:
Vinz wrote:
salut tout le monde,
J'ai vraiment du mal à utiliser les flux, malgré toutes les docs que
j'ai pu
trouver. J'ai pourtant l'impression que ce que je veux faire n'est pas
compliqué, mais bon, en attendant, je n'y arrive pas. Voilà donc mon
problème :
Mon objectif est de modifier un fichier xml, mettre le résultat dans un
tampon, puis lire ce tampon pour parser le contenu.
J'arrive à copier le contenu du fichier dans le tampon, mais comment
fait on
pour lire le contenu ??!!
voici mon code :
private BufferedWriter tampon = new BufferedWriter(new
CharArrayWriter());
à chaque fois, j'écris dedans via
tampon.write(mesdonnees);
Je fais donc toutes mes opérations de cette manière, mais comment je fais
pour récupérer mes données pour les donner à manger à mon parseur sous la
forme d'un Reader ?? Est ce que je n'utilise pas les bons type de flux ??
attention: en utilisant des Reader/Writer tu manipules l'encoding par
defaut de ta JVM.... ce n'est peut etre pas ce que tu souhaites...
pour regler ton probleme (au moins dans l'esprit) je te conseillerai
d'utiliser un StringWriter permettant de faire un toString a la fin de
ta lecture de flux puis d'obtenir un stringreader a partir de cette
string et hop...
Jerome
Heuuu , le StringWriter c'est pas un writer ?
Sinon, Vinz, t'es obligé de passer par un BufferedWriter ?
Tu peux pas utiliser directement to CharArrayWriter ?
Vu que lui a une méthode toString() tu pourras faire comme dit Jérome...
Pour moi les Buffered... n'ont d'intéret que si on travail vers une
"interface" physique (fichier sur disque, réseau, etc...) pour permettre
de gérer un tampon. Mais pour un travail en mémoire je suis pas
convaincu de l'utilité. Peut-être me trompes-je....
J'ai vraiment du mal à utiliser les flux, malgré toutes les docs que j'ai pu trouver. J'ai pourtant l'impression que ce que je veux faire n'est pas compliqué, mais bon, en attendant, je n'y arrive pas. Voilà donc mon problème : Mon objectif est de modifier un fichier xml, mettre le résultat dans un tampon, puis lire ce tampon pour parser le contenu. J'arrive à copier le contenu du fichier dans le tampon, mais comment fait on pour lire le contenu ??!! voici mon code : private BufferedWriter tampon = new BufferedWriter(new CharArrayWriter());
à chaque fois, j'écris dedans via tampon.write(mesdonnees);
Je fais donc toutes mes opérations de cette manière, mais comment je fais pour récupérer mes données pour les donner à manger à mon parseur sous la forme d'un Reader ?? Est ce que je n'utilise pas les bons type de flux ??
attention: en utilisant des Reader/Writer tu manipules l'encoding par defaut de ta JVM.... ce n'est peut etre pas ce que tu souhaites... pour regler ton probleme (au moins dans l'esprit) je te conseillerai d'utiliser un StringWriter permettant de faire un toString a la fin de ta lecture de flux puis d'obtenir un stringreader a partir de cette string et hop...
Jerome
Heuuu , le StringWriter c'est pas un writer ?
Sinon, Vinz, t'es obligé de passer par un BufferedWriter ? Tu peux pas utiliser directement to CharArrayWriter ? Vu que lui a une méthode toString() tu pourras faire comme dit Jérome...
Pour moi les Buffered... n'ont d'intéret que si on travail vers une "interface" physique (fichier sur disque, réseau, etc...) pour permettre de gérer un tampon. Mais pour un travail en mémoire je suis pas convaincu de l'utilité. Peut-être me trompes-je....
Christophe
Vinz
merci beaucoup, ça fonctionne ! pourquoi faire simple quand on peut faire compliqué ;-) par contre maintenant j'ai un autre problème, qui va faire l'objet d'un nouveau message...
"Christophe M" <mccricri_at_hotmail.com> a écrit dans le message de news:403de102$
jerome moliere wrote:
Vinz wrote:
salut tout le monde,
J'ai vraiment du mal à utiliser les flux, malgré toutes les docs que j'ai pu trouver. J'ai pourtant l'impression que ce que je veux faire n'est pas compliqué, mais bon, en attendant, je n'y arrive pas. Voilà donc mon problème : Mon objectif est de modifier un fichier xml, mettre le résultat dans un tampon, puis lire ce tampon pour parser le contenu. J'arrive à copier le contenu du fichier dans le tampon, mais comment fait on pour lire le contenu ??!! voici mon code : private BufferedWriter tampon = new BufferedWriter(new CharArrayWriter());
à chaque fois, j'écris dedans via tampon.write(mesdonnees);
Je fais donc toutes mes opérations de cette manière, mais comment je fais
pour récupérer mes données pour les donner à manger à mon parseur sous la
forme d'un Reader ?? Est ce que je n'utilise pas les bons type de flux ??
attention: en utilisant des Reader/Writer tu manipules l'encoding par defaut de ta JVM.... ce n'est peut etre pas ce que tu souhaites... pour regler ton probleme (au moins dans l'esprit) je te conseillerai d'utiliser un StringWriter permettant de faire un toString a la fin de ta lecture de flux puis d'obtenir un stringreader a partir de cette string et hop...
Jerome
Heuuu , le StringWriter c'est pas un writer ?
Sinon, Vinz, t'es obligé de passer par un BufferedWriter ? Tu peux pas utiliser directement to CharArrayWriter ? Vu que lui a une méthode toString() tu pourras faire comme dit Jérome...
Pour moi les Buffered... n'ont d'intéret que si on travail vers une "interface" physique (fichier sur disque, réseau, etc...) pour permettre de gérer un tampon. Mais pour un travail en mémoire je suis pas convaincu de l'utilité. Peut-être me trompes-je....
Christophe
merci beaucoup, ça fonctionne ! pourquoi faire simple quand on peut faire
compliqué ;-)
par contre maintenant j'ai un autre problème, qui va faire l'objet d'un
nouveau message...
"Christophe M" <mccricri_at_hotmail.com> a écrit dans le message de
news:403de102$1_1@news.vo.lu...
jerome moliere wrote:
Vinz wrote:
salut tout le monde,
J'ai vraiment du mal à utiliser les flux, malgré toutes les docs que
j'ai pu
trouver. J'ai pourtant l'impression que ce que je veux faire n'est pas
compliqué, mais bon, en attendant, je n'y arrive pas. Voilà donc mon
problème :
Mon objectif est de modifier un fichier xml, mettre le résultat dans un
tampon, puis lire ce tampon pour parser le contenu.
J'arrive à copier le contenu du fichier dans le tampon, mais comment
fait on
pour lire le contenu ??!!
voici mon code :
private BufferedWriter tampon = new BufferedWriter(new
CharArrayWriter());
à chaque fois, j'écris dedans via
tampon.write(mesdonnees);
Je fais donc toutes mes opérations de cette manière, mais comment je
fais
pour récupérer mes données pour les donner à manger à mon parseur sous
la
forme d'un Reader ?? Est ce que je n'utilise pas les bons type de flux
??
attention: en utilisant des Reader/Writer tu manipules l'encoding par
defaut de ta JVM.... ce n'est peut etre pas ce que tu souhaites...
pour regler ton probleme (au moins dans l'esprit) je te conseillerai
d'utiliser un StringWriter permettant de faire un toString a la fin de
ta lecture de flux puis d'obtenir un stringreader a partir de cette
string et hop...
Jerome
Heuuu , le StringWriter c'est pas un writer ?
Sinon, Vinz, t'es obligé de passer par un BufferedWriter ?
Tu peux pas utiliser directement to CharArrayWriter ?
Vu que lui a une méthode toString() tu pourras faire comme dit Jérome...
Pour moi les Buffered... n'ont d'intéret que si on travail vers une
"interface" physique (fichier sur disque, réseau, etc...) pour permettre
de gérer un tampon. Mais pour un travail en mémoire je suis pas
convaincu de l'utilité. Peut-être me trompes-je....
merci beaucoup, ça fonctionne ! pourquoi faire simple quand on peut faire compliqué ;-) par contre maintenant j'ai un autre problème, qui va faire l'objet d'un nouveau message...
"Christophe M" <mccricri_at_hotmail.com> a écrit dans le message de news:403de102$
jerome moliere wrote:
Vinz wrote:
salut tout le monde,
J'ai vraiment du mal à utiliser les flux, malgré toutes les docs que j'ai pu trouver. J'ai pourtant l'impression que ce que je veux faire n'est pas compliqué, mais bon, en attendant, je n'y arrive pas. Voilà donc mon problème : Mon objectif est de modifier un fichier xml, mettre le résultat dans un tampon, puis lire ce tampon pour parser le contenu. J'arrive à copier le contenu du fichier dans le tampon, mais comment fait on pour lire le contenu ??!! voici mon code : private BufferedWriter tampon = new BufferedWriter(new CharArrayWriter());
à chaque fois, j'écris dedans via tampon.write(mesdonnees);
Je fais donc toutes mes opérations de cette manière, mais comment je fais
pour récupérer mes données pour les donner à manger à mon parseur sous la
forme d'un Reader ?? Est ce que je n'utilise pas les bons type de flux ??
attention: en utilisant des Reader/Writer tu manipules l'encoding par defaut de ta JVM.... ce n'est peut etre pas ce que tu souhaites... pour regler ton probleme (au moins dans l'esprit) je te conseillerai d'utiliser un StringWriter permettant de faire un toString a la fin de ta lecture de flux puis d'obtenir un stringreader a partir de cette string et hop...
Jerome
Heuuu , le StringWriter c'est pas un writer ?
Sinon, Vinz, t'es obligé de passer par un BufferedWriter ? Tu peux pas utiliser directement to CharArrayWriter ? Vu que lui a une méthode toString() tu pourras faire comme dit Jérome...
Pour moi les Buffered... n'ont d'intéret que si on travail vers une "interface" physique (fichier sur disque, réseau, etc...) pour permettre de gérer un tampon. Mais pour un travail en mémoire je suis pas convaincu de l'utilité. Peut-être me trompes-je....
Christophe
Frédéric Lachasse
"Vinz" wrote in message news:c1kg34$et9$
salut tout le monde,
J'ai vraiment du mal à utiliser les flux, malgré toutes les docs que j'ai pu
trouver. J'ai pourtant l'impression que ce que je veux faire n'est pas compliqué, mais bon, en attendant, je n'y arrive pas. Voilà donc mon problème : Mon objectif est de modifier un fichier xml, mettre le résultat dans un tampon, puis lire ce tampon pour parser le contenu. J'arrive à copier le contenu du fichier dans le tampon, mais comment fait on
pour lire le contenu ??!! voici mon code : private BufferedWriter tampon = new BufferedWriter(new CharArrayWriter());
à chaque fois, j'écris dedans via tampon.write(mesdonnees);
Je fais donc toutes mes opérations de cette manière, mais comment je fais pour récupérer mes données pour les donner à manger à mon parseur sous la forme d'un Reader ?? Est ce que je n'utilise pas les bons type de flux ??
merci d'avance
L'erreur, c'est de considérer le tampon comme un BufferedWriter. Le tampon est un tableau de char. Le CharArrayWriter crée le tableau et le rempli. On récupère ensuite le tableau avec toCharArray() et on peut ensuite utiliser le tableau comme base pour un CharArrayReader.
Eventuellement, on peut utiliser un BufferedWriter ou un PrintWriter pour ajouter des fonctionalités au simple CharArrayWriter:
// tampon CharArrayWriter tampon = new CharArrayWriter();
// remplir le tampon PrintWriter out = new PrintWriter(tampon); out.println(...); ... out.flush(); // ne pas oublier
// Maintenant, utiliser le tampon pour lire: BufferedReader reader = new BufferedReader(new CharArrayReader(tampon.toCharArray())); ...
-- Frédéric Lachasse - ECP86
"Vinz" <vfuchs@hotmail.com> wrote in message
news:c1kg34$et9$1@s1.read.news.oleane.net...
salut tout le monde,
J'ai vraiment du mal à utiliser les flux, malgré toutes les docs que j'ai
pu
trouver. J'ai pourtant l'impression que ce que je veux faire n'est pas
compliqué, mais bon, en attendant, je n'y arrive pas. Voilà donc mon
problème :
Mon objectif est de modifier un fichier xml, mettre le résultat dans un
tampon, puis lire ce tampon pour parser le contenu.
J'arrive à copier le contenu du fichier dans le tampon, mais comment fait
on
pour lire le contenu ??!!
voici mon code :
private BufferedWriter tampon = new BufferedWriter(new CharArrayWriter());
à chaque fois, j'écris dedans via
tampon.write(mesdonnees);
Je fais donc toutes mes opérations de cette manière, mais comment je fais
pour récupérer mes données pour les donner à manger à mon parseur sous la
forme d'un Reader ?? Est ce que je n'utilise pas les bons type de flux ??
merci d'avance
L'erreur, c'est de considérer le tampon comme un BufferedWriter. Le tampon
est un tableau de char. Le CharArrayWriter crée le tableau et le rempli. On
récupère ensuite le tableau avec toCharArray() et on peut ensuite utiliser
le tableau comme base pour un CharArrayReader.
Eventuellement, on peut utiliser un BufferedWriter ou un PrintWriter pour
ajouter des fonctionalités au simple CharArrayWriter:
// tampon
CharArrayWriter tampon = new CharArrayWriter();
// remplir le tampon
PrintWriter out = new PrintWriter(tampon);
out.println(...);
...
out.flush(); // ne pas oublier
// Maintenant, utiliser le tampon pour lire:
BufferedReader reader = new BufferedReader(new
CharArrayReader(tampon.toCharArray()));
...
J'ai vraiment du mal à utiliser les flux, malgré toutes les docs que j'ai pu
trouver. J'ai pourtant l'impression que ce que je veux faire n'est pas compliqué, mais bon, en attendant, je n'y arrive pas. Voilà donc mon problème : Mon objectif est de modifier un fichier xml, mettre le résultat dans un tampon, puis lire ce tampon pour parser le contenu. J'arrive à copier le contenu du fichier dans le tampon, mais comment fait on
pour lire le contenu ??!! voici mon code : private BufferedWriter tampon = new BufferedWriter(new CharArrayWriter());
à chaque fois, j'écris dedans via tampon.write(mesdonnees);
Je fais donc toutes mes opérations de cette manière, mais comment je fais pour récupérer mes données pour les donner à manger à mon parseur sous la forme d'un Reader ?? Est ce que je n'utilise pas les bons type de flux ??
merci d'avance
L'erreur, c'est de considérer le tampon comme un BufferedWriter. Le tampon est un tableau de char. Le CharArrayWriter crée le tableau et le rempli. On récupère ensuite le tableau avec toCharArray() et on peut ensuite utiliser le tableau comme base pour un CharArrayReader.
Eventuellement, on peut utiliser un BufferedWriter ou un PrintWriter pour ajouter des fonctionalités au simple CharArrayWriter:
// tampon CharArrayWriter tampon = new CharArrayWriter();
// remplir le tampon PrintWriter out = new PrintWriter(tampon); out.println(...); ... out.flush(); // ne pas oublier
// Maintenant, utiliser le tampon pour lire: BufferedReader reader = new BufferedReader(new CharArrayReader(tampon.toCharArray())); ...