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 />

public class Verzeichnistest<br />

{<br />

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

{<br />

Str<strong>in</strong>g nameVerz = System.getProperty("user.dir");<br />

File userdir = new File(nameVerz);<br />

// System.out.pr<strong>in</strong>tln(System.getProperty("user.dir"));<br />

Str<strong>in</strong>g e<strong>in</strong>traege [] = userdir.list();<br />

System.out.pr<strong>in</strong>tln("Alle E<strong>in</strong>traege aus <strong>de</strong>m Verzeichnis " + nameVerz);<br />

for (<strong>in</strong>t i = 0;i < e<strong>in</strong>traege.length; i++)<br />

System.out.pr<strong>in</strong>tln(e<strong>in</strong>traege[i]);<br />

System.out.pr<strong>in</strong>tln("Alle E<strong>in</strong>traege aus <strong>de</strong>m Verzeichnis mit Endung .java "<br />

+ nameVerz);<br />

e<strong>in</strong>traege = userdir.list(new DateiFilter());<br />

// Arbeitet wie die Metho<strong>de</strong> list(), nur filtert e<strong>in</strong> spezielles FileName-<br />

// Filter-Objekt bestimmte Namen heraus<br />

for (<strong>in</strong>t i = 0;i < e<strong>in</strong>traege.length; i++)<br />

System.out.pr<strong>in</strong>tln(e<strong>in</strong>traege[i]);<br />

}<br />

}<br />

E<strong>in</strong>gabefilter<br />

Die Klasse FilterRea<strong>de</strong>r erhält <strong>de</strong>n eigentlichen Rea<strong>de</strong>r über <strong>de</strong>n Konstruktor und<br />

speichert ihn als Membervariable.<br />

Bsp. 140 : Die Klasse CaseFilter implementiert e<strong>in</strong>e erweiterte Funktionalität für<br />

read(). Beim E<strong>in</strong>lesen wer<strong>de</strong>n Kle<strong>in</strong>buchstaben <strong>in</strong> Großbuchstaben umgewan<strong>de</strong>lt.<br />

import java.io.*;<br />

public class CaseFilter extends FilterRea<strong>de</strong>r<br />

{<br />

public CaseFilter(Rea<strong>de</strong>r f)<br />

{<br />

super(f);<br />

}<br />

public <strong>in</strong>t read() throws IOException<br />

{<br />

<strong>in</strong>t zeichen = super.read();<br />

if (Character.isLowerCase((char) zeichen))<br />

return Character.toUpperCase((char) zeichen);<br />

else return zeichen;<br />

}<br />

}<br />

In <strong>de</strong>r Klasse DekoStream wird nun das read() e<strong>in</strong>es CaseFilter-Objekts<br />

verwen<strong>de</strong>t. Direkt beim E<strong>in</strong>lesen wird <strong>de</strong>r Text formatiert.<br />

import java.io.*;<br />

public class DekoStream<br />

{<br />

public DekoStream()<br />

{<br />

Str<strong>in</strong>g s = readNormal("DekoStream.java");<br />

System.out.pr<strong>in</strong>tln(s);<br />

s = readFilter("DekoStream.java");<br />

System.out.pr<strong>in</strong>tln(s);<br />

}<br />

140 vgl. pr14341<br />

138

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!