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(); }