Bonjour,
J'écris le contenu d'un StringBuffer dans un fichier texte au moyen de la méthode OutputStreamWriter.write(String str).
L'écriture se déroule sans anicroche, mais je constate que le fichier créé est incomplet, comprenez qu'une partie du contenu du StringBuffer n'a pas été écrite. Je pense qu'il s'agit d'une erreur de longueur de chaîne qui doit dépasser la longueur maximale acceptée par le buffer de la méthode write().
J'ai donc essayé de diviser la chaîne à écrire en fragements en utilisant la méthode OutputStreamWriter.write(String str, int off, int len). Cette variante n'écrit qu'une partie de la chaîne. Si j'ai bien compris la doc, il s'agit d'indiquer le décalage (nombre de caractères à sauter depuis le début de la chaîne) et la longueur (nombre de caractères à extraire). Malheureusement, en utilisant cette méthode avec les arguments suivants : write(monBuffer, 0, 1000) j'obtiens un fichier complètement vide. Je m'attendais à avoir les 1000 premiers caractères écrits dans le fichier.
Voici un lien vers la doc que j'ai utilisée : http://java.sun.com/javase/7/docs/ap...,%20int,%20int
Et maintenant mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 File rapportDonneesTelecodage = new File("C:\\xxx\\rapportDonneesTelecodage.doc"); FileOutputStream rapportOutputStream = new FileOutputStream(rapportDonneesTelecodage); OutputStreamWriter rapportOutputStreamWriter = new OutputStreamWriter(rapportOutputStream,"ISO-8859-1"); rapportOutputStreamWriter.write(rapportComparatif.toString());
Partager