Trier des données de type texte contenues dans un StringBuffer ?

Trier des données de type texte contenues dans un StringBuffer ? - Java - Programmation

Marsh Posté le 15-09-2004 à 11:20:11    

Salut,
 
Comment puis-je m'y prendre pour (facilement) trier le contenu d'un StringBuffer contenant des lignes de texte séparées par des "\n" ?  
 
 :)

Reply

Marsh Posté le 15-09-2004 à 11:20:11   

Reply

Marsh Posté le 15-09-2004 à 11:32:00    

je la sens pas bien ton histoire ; qu'est-ce que tu entends par trier ?


---------------
Au royaume des sourds, les borgnes sont sourds.
Reply

Marsh Posté le 15-09-2004 à 11:35:58    

:)
 
Je dois réordonner le contenu des lignes dans le buffer selon un certain critère (tri sur matricule par exemple sauf que là, c'est un peu plus compliqué que ça, du coup je ne peux pas faire des append() dans le buffer de sorte que le résultat soit trié au final)...

Reply

Marsh Posté le 15-09-2004 à 11:38:57    

Tu arrivera à rien avec un StringBuffer.
Trie tes chaines (ou mieux, tes objets qui te donnent tes chaines) et ensuite, si tu as besoin, concatène le tout avec on StringBuffer.
 
[edit] en fait, elles sortent d'où, tes chaînes, avant que tu ne les mettes dans le buffer?


Message édité par gfive le 15-09-2004 à 11:39:39

---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
Reply

Marsh Posté le 15-09-2004 à 11:40:38    

Je les génère par append() dans mon StringBuffer justement. Il s'agit d'enregistrements de fichiers texte que je crée selon un format donné

Reply

Marsh Posté le 15-09-2004 à 11:40:57    

alors moi je dirais StringBuffer -> StringTokenizer -> List ou tableau de String -> trier le tableau -> refaire un StringBuffer (si c'est vraiment nécessaire)


---------------
Au royaume des sourds, les borgnes sont sourds.
Reply

Marsh Posté le 15-09-2004 à 11:42:45    

Ah oui, c'est pas mal, ça. J'étais parti sur la solution "Artillerie lourd" avec ByteArrayInputStream, InputStreamReader et BufferedReader.
 
Je vais voir si la chaîne retournée par System.getProperty("line.separator" ) peut servir de séparateur au StringTokenizer

Reply

Marsh Posté le 15-09-2004 à 11:45:04    

machinbidule1974 a écrit :

Je les génère par append() dans mon StringBuffer justement. Il s'agit d'enregistrements de fichiers texte que je crée selon un format donné

à ce moment là tu les met directement dans un tableau, pas besoin de StringBuffer.


---------------
Au royaume des sourds, les borgnes sont sourds.
Reply

Marsh Posté le 15-09-2004 à 11:45:08    

machinbidule1974 a écrit :

Je les génère par append() dans mon StringBuffer justement. Il s'agit d'enregistrements de fichiers texte que je crée selon un format donné


Bah....
au lieu de les concaténer, tu les met dans une List, tu tries la List, et ensuite, tu concatènes!
Grilled.


Message édité par gfive le 15-09-2004 à 11:45:22

---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
Reply

Marsh Posté le 15-09-2004 à 11:48:11    

R3g a écrit :

à ce moment là tu les met directement dans un tableau, pas besoin de StringBuffer.


 
Oui, c'est vrai que j'ai tellement pris l'habitude d'utiliser le StringBuffer que je ne me posais même plus la question de savoir pourquoi je l'utilisais.
 
OK, j'ai donc ma solution clean...  
 
Merci à vous deux :jap:

Reply

Marsh Posté le 15-09-2004 à 11:48:11   

Reply

Marsh Posté le 15-09-2004 à 15:33:56    

[:w3c compliant]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 15-09-2004 à 15:37:16    


 
pas mieux! :D


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
Reply

Marsh Posté le 15-09-2004 à 15:38:12    

et alors, le coup du line.separator c'est bien aussi ça ...
ça fait 2 points d'un coup, pas mal.
 
je devrais reprendre le tableau de bons-points-java, mais à l'envers


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 15-09-2004 à 15:42:40    

Avec le code que je corrige depuis le début de la semaine, je vais les collectionner! :)


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
Reply

Marsh Posté le 15-09-2004 à 15:44:26    

http://www.harmonisproduction.com/webmasters/modules/My_eGallery/gallery/musique/petard.jpg

Reply

Marsh Posté le 15-09-2004 à 15:46:06    

'tain, quel engin! :D


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
Reply

Marsh Posté le 15-09-2004 à 15:51:14    

the real moins moins a écrit :

et alors, le coup du line.separator c'est bien aussi ça ...
ça fait 2 points d'un coup, pas mal.
 
je devrais reprendre le tableau de bons-points-java, mais à l'envers


 
C'est quoi le problème au juste du line.separator ???

Reply

Marsh Posté le 15-09-2004 à 15:54:58    

que sur un objet String ton line separator c'est \n et pas un truc dépendent du systeme, qui n'est interessant que lorsqu'on parse un fichier à la main.
(et encore, les Reader s'en chargent pour toi)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 15-09-2004 à 15:59:57    

Et bien non, le line.separator te retourne un saut de ligne portable car le line.separator ne retourne pas toujours \n, ça dépend de ta plateforme d'exécution. C'est #10#13 (ou l'inverse) sous Windows mais #10 (ou #13 je sais plus) uniquement sous Unix.
 
C'est d'ailleurs pour ça que je l'utilise
 
Ca ne fait donc qu'une connerie dans mon topic  :whistle:


Message édité par machinbidule1974 le 15-09-2004 à 16:00:24
Reply

Marsh Posté le 15-09-2004 à 16:00:22    

gfive a écrit :

Avec le code que je corrige depuis le début de la semaine, je vais les collectionner! :)

sinon çui-ci est sympa aussi, en 5 posts, il a toujours pas réussi à dire quel était son problème. (5 posts dont deux ou je lui demande justement quel est le probleme...)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 15-09-2004 à 16:01:06    

the real moins moins a écrit :

sinon çui-ci est sympa aussi, en 5 posts, il a toujours pas réussi à dire quel était son problème. (5 posts dont deux ou je lui demande justement quel est le probleme...)


 
 :??:

Reply

Marsh Posté le 15-09-2004 à 16:01:16    

machinbidule1974 a écrit :

Et bien non, le line.separator te retourne un saut de ligne portable car le line.separator ne retourne pas toujours \n, ça dépend de ta plateforme d'exécution. C'est #10#13 (ou l'inverse) sous Windows mais #10 (ou #13 je sais plus) uniquement sous Unix.
 
C'est d'ailleurs pour ça que je l'utilise
 
Ca ne fait donc qu'une connerie dans mon topic  :whistle:

c'est ça, oui bien sur.
 
on est donc à 3.
bravo [:clappclapp]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 15-09-2004 à 16:03:31    

Mais tu sais que tu commences à me courir sur le haricot, j'en ai fait l'expérience sur mon projet. J'ai commencé à mettre des \n qui marchaient sous Windows mais dès que je suis passé sous AIX, c'était plus bon.
 
C'est pourquoi j'utilise line.separator
 
Et arrête de prendre les gens de haut, tu t'en rends peut-être pas compte mais c'est vraiment lourd

Reply

Marsh Posté le 15-09-2004 à 16:04:21    

Reply

Marsh Posté le 15-09-2004 à 16:06:42    

bah, euuuh....
 
Faut savoir de quoi on parle, hein :  
Dans ton lien :  

Code :
  1. public static String newline = System.getProperty("line.separator" );


 
mais :  

Code :
  1. Character.LINE_SEPARATOR = 13


 
donc, a mon avis, y'a malentendu.


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
Reply

Marsh Posté le 15-09-2004 à 16:08:42    

C'est bien System.getProperty("line.separator" ) que j'utilise, désolé si j'ai été peu clair dans les posts précédents

Reply

Marsh Posté le 15-09-2004 à 17:56:10    

y'a un lien sur le post!
(4 [:itm])


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 15-09-2004 à 17:56:25    

the real moins moins a écrit :

que sur un objet String ton line separator c'est \n et pas un truc dépendent du systeme, qui n'est interessant que lorsqu'on parse un fichier à la main.
(et encore, les Reader s'en chargent pour toi)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed