listFiles()
ein Programm, welches den Verzeichnisinhalt
für c:\ auflistet. [winnt]
. java MeinFileList c:\windows
Falls kein Pfad angegeben ist, sollte der Benutzerpfad genutzt werden. Den erhält
man über die Property System.getProperty("user.home")
.
DirObserver
, die jede Sekunde die Anzahl
der Dateien auf dem Bildschirm ausgibt. Als Rumpf lässt sich nutzen:
class DirObserver implements Runnable { private String path; DirObserver( String path ) { this.path = path; } public void run() { ... } }
Ein java.io.FilenameFilter filtert die Liste der Dateien eines Verzeichnisses nach beliebigen Kriterien aus.
ExtensionFileFilter
, die Dateien
(und nur diese) mit einer bestimmten Endung aufnimmt. Möchte man alle Java-Dateien
in der Rückgabe haben, soll sich schreiben lassen: File dir = new File( "." ); String files[] = dir.list( new ExtensionFileFilter( new String[]{"java"} ) ); for ( int i = 0; i < files.length; ++i ) System.out.println( files[i] );
new ExtensionFileFilter( "java" )
Unter der Win32-API gibt es Funktionen zum Suchen von Dateien. Leider gibt es
unter Java in den Bibliotheken keine dieser Funktionen. Implementiere eine Methode
String findFile(String path, String filename)
, die das Verzeichnissystem
rekursiv durchsucht und bei einem ersten Treffer den Gesamtpfad zurückgibt.
Die Datei Family-Names enthält
Familiennamen. Speichere die Datei auf dem eigenen Dateisystem. Lies die Datei mit
der readLine()
-Methode aus
java.io.RandomAccessFile
ein und gib die Zeilen auf dem Bildschirm aus.
java.util.Arrays
.
Eine Datei soll Byte für Byte umgedreht ausgegeben werden.
Wir haben schon einmal eine Klasse EMailSpeicher
implementiert,
die Namen von Personen mit E-Mail-Adressen speichert. Erweitere die Klasse, damit
die Namen und Adressen jetzt aus einer Datei gelesen werden können. Lege dazu eine
Datei an mit Einträgen im Dateisystem, etwa folgender Art:
Christian Ullenboom=rudy@weihnachtsmann.org
Fritzi Foppel will nur die letzten 20 Zeilen aus einer Datei auf dem Bildschirm ausgeben. Wie kann er das effizient lösen?