16.11.2013 Aufrufe

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Programmieren</strong> <strong>in</strong> <strong>Java</strong><br />

- Überlagern <strong>de</strong>r drei write() Metho<strong>de</strong>n, Ausführung <strong>de</strong>r Filterfunktionen, Weitergabe <strong>de</strong>r wahren<br />

Daten an <strong>de</strong>n Writer<br />

Bsp. 142 : Konvertieren aller Zeichen <strong>in</strong> Großbuchstaben <strong>in</strong>nerhalb e<strong>in</strong>es Streams.<br />

import java.io.*;<br />

class UpCaseWriter extends FilterWriter<br />

{<br />

public UpCaseWriter(Writer out)<br />

{<br />

super(out);<br />

}<br />

public void write(<strong>in</strong>t c) throws IOException<br />

{<br />

super.write(Character.toUpperCase((char) c));<br />

}<br />

public void write(char cbuff[], <strong>in</strong>t off, <strong>in</strong>t len)<br />

throws IOException<br />

{<br />

for (<strong>in</strong>t i = 0; i < len; i++)<br />

write(cbuff[off + i]);<br />

}<br />

public void write(Str<strong>in</strong>g str, <strong>in</strong>t off, <strong>in</strong>t len)<br />

throws IOException<br />

{<br />

write(str.toCharArray(),off,len);<br />

}<br />

}<br />

Test:<br />

import java.io.*;<br />

public class PR14441<br />

{<br />

public static void ma<strong>in</strong>(Str<strong>in</strong>g args[])<br />

{<br />

Pr<strong>in</strong>tWriter f;<br />

Str<strong>in</strong>g s = " und diese Zeichenkette auch";<br />

try {<br />

f = new Pr<strong>in</strong>tWriter(<br />

new UpCaseWriter(new FileWriter("upcase.txt")));<br />

f.pr<strong>in</strong>tln("Diese Zeile wird gross geschrieben");<br />

/* Die drei write() Metho<strong>de</strong>n wer<strong>de</strong>n <strong>in</strong> UpCaseWriter<br />

do überlagert, dass zunächst Ausgabezeichen <strong>in</strong><br />

Grossschrift konvertiert und anschliessend die<br />

passen<strong>de</strong> Superklassen-Metho<strong>de</strong> aufgerufen wird, um<br />

die Datei an <strong>de</strong>n <strong>in</strong>ternen Writer out zu uebergeben<br />

*/<br />

// Test write(<strong>in</strong>t);<br />

f.pr<strong>in</strong>tln();<br />

// Test write(Str<strong>in</strong>g)<br />

f.write(s); f.pr<strong>in</strong>tln();<br />

// Test von write(Str<strong>in</strong>g,<strong>in</strong>t,<strong>in</strong>t)<br />

f.write(s,0,23); f.pr<strong>in</strong>tln();<br />

// Test von write(char[],<strong>in</strong>t,<strong>in</strong>t)<br />

f.write(s.toCharArray(),0,10);<br />

f.pr<strong>in</strong>tln();<br />

f.close();<br />

}<br />

catch(IOException e)<br />

{<br />

System.out.pr<strong>in</strong>tln("Fehler beim Erstellen <strong>de</strong>r Datei");<br />

}<br />

142 vgl. pr14341<br />

140

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!