Bei den ersten Versionen von Java gab es nur byteorientierte Datenströme. Mit Java 1.1 wurde diese Einschränkung abgeschafft. Zusätzlich zu den byteorientierten Klassen InputStream und OutputStream wurden die zeichenorientierten Klassen Reader und Writer eingeführt.
Beispiel:
import java.io.*; public class Zkin01 { public static void main(String args[]) { InputStreamReader inrd=new InputStreamReader(System.in); BufferedReader bfrd=new BufferedReader(inrd); String strg= new String(); try { do { System.out.print("> "); strg=bfrd.readLine(); System.out.println("Echo: " + strg); } while((strg!=null)&(strg.length()>0)); } catch (IOException e) { System.out.println("Fehler bei der Eingabe.");
System.exit(4);
}
System.exit(0);
}
}
Als Ausgabe erhält man:
> Das ist die 1. Zeile
Echo: Das ist die 1. Zeile
> Das ist die 2. Zeile
Echo: Das ist die 2. Zeile
> Das ist die 3. Zeile
Echo: Das ist die 3. Zeile
>
Echo: