[JAVA] Ecriture le caractere '\n' au format windows dans un fichier..

Ecriture le caractere '\n' au format windows dans un fichier.. [JAVA] - Programmation

Marsh Posté le 22-03-2001 à 05:42:27    

J'ai essayé avec FileOutputStream/ObjectOutputStream ou encore RandomAccessFile mais dans tous les cas le caractere '\n' est au format unix, et est donc representé par un carré, ce qui fait pas tres propre pour un fichier de log.
Y'a t'il un moyen d'écrire ce caractère au format windows et qu'il aille donc à la ligne a chaque fois?
 
Merci d'avance

Reply

Marsh Posté le 22-03-2001 à 05:42:27   

Reply

Marsh Posté le 22-03-2001 à 07:28:55    

Faut que tu ecrives '\r' suivi de '\n' pour etre au format DOS.
(et sur un mac, ce serait remplacer les '\n' par des '\r')
On a deja repondu a cette question avant hier.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 22-03-2001 à 07:35:57    

Oueh mais en fait je lui file directement une variable de type String.  
Je vois mal comment remplacer les '\n' contenus dans ma variable par des '\r\n' paske y'a pas trop de fonctions qui remplace un caractere par 2 je crois.
 
Une idée?

Reply

Marsh Posté le 22-03-2001 à 08:01:02    

>Je vois mal comment remplacer les '\n' contenus dans ma variable par des '\r\n' paske y'a pas trop de fonctions qui remplace un caractere par 2 je crois
 
Ben tu cree un StringBuffer a partir de ta String, tu inseres un '\r' devant chaque '\n', puis tu crees une String a partir de ton StringBuffer et basta! (ou plutot, tu utilises StringBuffer.toString() dans le 2e cas)
Y'a peut etre des fctions pour automatiser ca, mais java, j'y touche assez peu, donc je ne sais pas; je bosse en C/C++.
A+,

 

[edit]--Message édité par gilou--[/edit]


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 22-03-2001 à 08:21:37    

Sinon, tu peux aussi essayer de deriver une classe BufferedWriter (DOSBufferedWriter par exemple) ou tu redefinis la methode newLine().
[Me semble nettement mieux comme solution]
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 22-03-2001 à 08:28:17    

Oueh mais en fait le probleme c'est que ma String que je veux convertir proviens d'un JTextArea sur lequel je fais un getText(). En plus le JTextArea en question il a été rempli avec des append(), qui donc ne met pas le caractere NewLine que je voudrais. Donc je peux pas trop utiliser ta seconde methode qui peut marcher mais dans un autre contexte on va dire.
 
Je vais peut etre utiliser la premiere... enfin je sais pas.
 
En tout cas merci bcp pour tes renseignements.

Reply

Marsh Posté le 22-03-2001 à 09:07:47    

Euh pour ceux que ca interesse...
j'ai trouvé une methode bourrine mais qui marche parfaitement.
A Chaque fois que je fais un append sur mon JTextArea, juste apres je fais, dans un try (j'ai pas le choix), un :
 
insert("\r",getLineEndOffset(getLineCount())-2);
 
Et ca fait ce qu'il faut.

Reply

Sujets relatifs:

Leave a Replay

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