Jak najprościej policzyć ilość plików w katalogu?

0

Napisałem coś takiego:

        File[] files = new File("c:/pliki").listFiles();
        int ilosc = 0;

        for (File file : files) {
            ilosc++;
        }
        System.out.print("ilosc plikow w katalogu c:/pliki to : "+ ilosc);

//ale mi się to nie podoba

//i szukam rozwiązań w stylu:

         ilosc = files.length();
         ilosc = files.size();     
         ilosc = size.listFiles();


 
2
files.length

Tak uzyskasz łączną ilość plików i podkatalogów, jeśli chcesz tylko pliki, to:

        for (File file : files) {
            if(file.isFile())
                ilosc++;
        }
0

Wielkie dzięki a ja durny próbowałem

files.length();

Faktycznie zlicza również puste katalogi a mi zależy na samych plikach w tym konkretnie katalogu niezależnie od tego co jest w podkatalogach.

Jeszcze raz dziekuję działa bez zarzutu.

2

Yyyy... filtry?

ilosc = new File("c:/katalog").listFiles(path->!path.isDirectory()).length;
0

Domyślam się, że to ma sprawdzić czy istnieje katalog w którym mają być zliczone pliki.

I co się stanie jak tego katalogu nie ma??

2

Nope, działa to w ten sposób, że wybiera wszystkie pliki z danego katalogu po czym aplikuje podany filtr i zwraca tablicę plików, które spełniają warunek z filtra.

0

Dzięki szukałem właśnie czegoś w jednej linii.

1 użytkowników online, w tym zalogowanych: 0, gości: 1