Re: Anzahl Dateien in einem Verzeichnis



joe schrieb
Ich benötige also eine Möglichkeit herauszubekommen, ob ein
Verzeichnis
mehr als X Dateien/Unterverzeichnisse enthält.

#File.listFiles().length geht natuerlich nicht.

Nach Deiner obigen Beschreibung wäre das korrekt.
Scheinbar meinst Du die Anzhal der Dateien rekursiv.

Was also tun?

Schreibe eine rekursive Methode:

------------------------------------------------------------
import java.io.File;

/**
* Klasse zum rekursiven Zählen
* der Dateien und Unterverzeichnisse
* unter einem bestimmten Verzeichniss.
*
* @author Heiner Kücker
*/
public class RecursivFileCount
{
/**
* Main.
*
* @param args Kommandozeilenparameter
*/
public static void main(
final String[] args)
{

final FileAndFolderCountVo fileAndFolderCountVo =
recursivFileCount(
new File(
"???" ) );

System.out.println(
"Anzahl Verzeichnisse: " +
fileAndFolderCountVo.folderCount );

System.out.println(
"Anzahl Dateien: " +
fileAndFolderCountVo.fileCount );
}

/**
* Rekursives Zählen Dateien und Verzeichnisse.
*
* @param folderToCheck Verzeichniss-File-Objekt, in welchem die
* Dateien und Verzeichnisse gezählt werden sollen
* @@return Value-Objekt für die Anzahl
* Dateien und Verzeichnisse
*/
private static FileAndFolderCountVo recursivFileCount(
final File folderToCheck )
{
final FileAndFolderCountVo fileAndFolderCountVo =
new FileAndFolderCountVo();

innerRecursivFileCount(
folderToCheck ,
fileAndFolderCountVo );

return fileAndFolderCountVo;
}

/**
* Rekursives Zählen Dateien und Verzeichnisse.
*
* @param folderToCheck Verzeichniss-File-Objekt,
* in welchem die
* Dateien und Verzeichnisse
* gezählt werden sollen
* @param fileAndFolderCountVo
* Value-Objekt für die Anzahl
* Dateien und Verzeichnisse
*/
private static void innerRecursivFileCount(
final File folderToCheck ,
final FileAndFolderCountVo fileAndFolderCountVo )
{
System.out.println( folderToCheck );

final File[] fileArr =
folderToCheck.listFiles();

for (int i = 0; i < fileArr.length; i++)
{
final File file = fileArr[i];

if ( file.isDirectory() )
{
fileAndFolderCountVo.folderCount++;

innerRecursivFileCount(
file ,
fileAndFolderCountVo );
}
else
{
fileAndFolderCountVo.fileCount++;
}
}
}

/**
* Value-Objekt-Klasse f&uuml;r die Anzahl
* Dateien und Verzeichnisse.
*/
public static class FileAndFolderCountVo
{
/**
* Anzahl Dateien.
*/
public int fileCount;

/**
* Anzahl Verzeichnisse.
*/
public int folderCount;
}

}

------------------------------------------------------------

--
Heiner Kücker
http://www.heinerkuecker.de
http://www.avon-beratung-terhorst.de

.



Relevant Pages

  • Re: wget will unbedingt fremde Sites mit einsammeln
    ... Ab und zu hing auch hinten ein fremder Inhalt, sogar von Dateien ... oder wie auch immer das Beobachtungs-Programm auf Deinem Rechner heißt, ... symbolic links und weitere Verzeichnisse, ... Wer mir E-Mail schreiben will, stelle | When writing me e-mail, please ...
    (de.comp.os.unix.shell)
  • Re: db4o - rekursives Löschen der meisten Felder / Baumstrukturen
    ... Verzeichnisse und Dateien haben keine Gemeinsamkeiten. ... Objekt in die Klasse A kommt, sondern die Felder der Klasse B direkt ...
    (de.comp.lang.java)
  • [MiKTeX] miktex.ini und GraphicsPath
    ... ich schaffe es nicht, MiKTeX so zu konfigurieren, dass immer wieder ... Verzeichnisse gelegt. ... einen eigenen Pfad anzulegen -- unter peinlichst genauer ... Die dort abgelegten Dateien ...
    (de.comp.text.tex)
  • zu lange Dateinamen finden?
    ... ich als Administrator derzeit noch nicht für alle Dateien / Verzeichnisse ... Leserechte habe (die Geschäftsleitung hat so ihre kleinen Geheimnisse), ...
    (microsoft.public.de.german.windowsxp.sonstiges)