Java:Dateioperationen

Aus Alexander's Wiki
Version vom 17. Februar 2013, 07:15 Uhr von Admin (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Dateioperationen werden immer mal wieder benötigt. Sie sind zwar relativ einfach zu programmieren, aber deshalb zeitaufwändig, weil man immer wieder nachschauen muss, wie das nocheinmal ging. Daher hier eine Sammlung von ein paar Dateioperationen.

Dateien

    private void dateiVerschieben(String quelle, String ziel) {
        // File Objekt für die Ursprungs-Datei erzeugen
        File source = new File(quelle);
        // File Objekt für die neue Datei erzeugen
        File destination = new File(ziel);
        // Datei wird umbenannt/verschoben
        if (!source.renameTo(destination)) {
            System.err.println("Fehler beim Umbenennen der Datei: " + source.getName());
        }
    }

    private void dateiUmbenennen(String quelle, String neuerName) {
        File alt = new File(quelle);
        String pfad = alt.getParent() + File.separator;
        File neu = new File(pfad + neuerName);
        alt.renameTo(neu);
    }

Dateien auflisten besteht aus zwei Komponenten. Einmal einem Filter und einmal der eigentlichen Methode.

public class FilterMP3 implements FilenameFilter{

    public boolean accept(File dir, String name) {
      String endung = name.substring(name.length() - 4);
      if (endung.equalsIgnoreCase(".mp3")) {
        return true;
      } else {
        return false;
      }
    }

}

    // Das ist die Methode in einer anderen Klasse
    private String[] verzeichnisListen(String vz) {
        File verzeichnis = new File(vz);
        FilterMP3 mp3filter = new FilterMP3();
        return verzeichnis.list(mp3filter);
    }

Verzeichnisse

    private void verzeichnisErstellen(String vzname) {
        try {
            File verzeichnis = new File(vzname);
            verzeichnis.mkdirs();
        } catch (Exception e) {
            System.out.println("Fehler: " + e.getMessage());
        }
    }

    private void verzeichnisLoeschen(File pfad) {
        for (File file : pfad.listFiles()) {
            if (file.isDirectory()) {
                verzeichnisLoeschen(file);
            }
            file.delete();
        }
        pfad.delete();
    }