Dateien und wahlfreier Zugriff

Wahlfreier Zugriff

Dateien umdrehen

Eine Datei soll Byte für Byte umgedreht werden. Nutze dafür java.io.RandomAccessFile .

Last-Kommando *

Fritzi Foppel will nur die letzten 20 Zeilen aus einer Datei auf dem Bildschirm ausgeben. Wie kann er das effizient lösen?

Path und Files

Pfade und Kopieroperationen

Gegeben ist ein beliebiges Verzeichnis mit Bildern. Wähle mit einem Filter alle die Dateien aus, die GIFs sind und eine Mindestbreite von 1024 Pixeln haben. Zum Auslesen der Breiten ist folgendes möglich:

static boolean isLargeGif( Path entry ) {
  if ( !Files.isRegularFile( entry ) )
    return false;
  try ( RandomAccessFile f = new RandomAccessFile( entry.toFile(), "r" ) ) {
    f.seek( 6 );
    int width = f.read() + f.read() * 256;
    return width < 1024;
  }
  catch ( IOException e ) {
    throw new UncheckedIOException( e );
  }
}
Lösung

Verzeichnislisting generieren

Rekursiver Abstieg

Studiere den Dienst unter http://yuml.me/diagram/class/draw. Was passiert, wenn man folgende Zeilen in die Box setzt?

[C:]-[Benutzer]
[C:]-[Drivers]
[Benutzer]-[Default]
[Benutzer]-[Öffentlich]

Laufe mit den FileVisitor rekursiv bis zu einer bestimmten Tiefe ein Verzeichnis ab und generiere Ausgaben für yuml. Kopiere diese von der Konsolenausgabe in die Textbox von yuml.