bonjour
Je cherche à remplacer une sous chaine dans une chaine typiquement utiliser la méthode replace de String. Et là le bas blesse !!
1/ Je n"oublie pas que les chaines sont immuables don je fais bien
String s = ma_string.replace("TOTO", "TATA");
Je lis donc un fichier ligne par ligne et je remplace dans les lignes les TOTO par TATA. Qd je sors en System.out je vois bien la chaine modifiée mais lorsque j'écris cette chaine dans un OutputStream, rien n'est modifié ?
Bug de cette méthode ? Bug dans l'OutputStream ? Bug de moi ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 BufferReader input = new BufferReader(New InputStreamReader(new FileInputStream(mon_fichier))); DataOutputStream dos = new DataOutputStream(new FileOutputStream(mon_output))); String line = null; While ((line=input.readLine()) != null) { String tmp = line.replace("TOTO", "TATA"); dos.writeBytes(tmp); dos.flush(); } input.close(); dos.close();
Partager