Java: Abfragen ob ein Ordner leer ist?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Du lässt Dir die Liste aller .yml-Dateien im Ordner geben und wenn die leer ist, sind keine da.

File dir = new File("C:/test");
File [] files = dir.listFiles(new FilenameFilter() {
    @Override
    public boolean accept(File dir, String name) {
        return name.endsWith(".yml");
    }
});

bool noYmlFiles = (files == null || files.length == 0);

Oder Du lässt Dir die Liste aller Dateien geben und prüfst, ob YML-Dateien dabei sind.

File f = new File("c:/test");
String[] paths = f.list();
boolean noYmlFiles = true;
for (String path : paths) 
{
  if (path.endsWith(".yml"))
    noYmlFiles = false;
}

if (noYmlFiles)
  ...

ohwehohach  24.05.2019, 12:37

In Java 8 geht's noch kürzer:

File dir = new File("C:/test");
File[] files = dir.listFiles((d, name) -> name.endsWith(".yml"));

boolean noYmlFiles = (files == null || files.length == 0);
1