Les classes StringReader et StringWriter permettent de construire un flot de lecture ou d'écriture à partir d'une chaîne de caractères au lieu d'un fichier :
String s = ...;
StringReader in =
new StringReader(s);
La classe StringWriter est particulièrement utile pour construire une chaîne à partir d'autres chaînes, de façon plus efficace qu'en recourant à la méthode append. Par exemple une redéfinition de la méthode toString a souvent la forme suivante :
public String toString() {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw); // décorateur
// pw.print(...);
return sw.toString();
}