Contare i file nelle directory e sottodirectory? i phone
-
26-09-2019 - |
Domanda
Sto cercando di contare interi file in una directory, comprese le sottodirectory. Questo è ciò che ho da contare file nella prima cartella:
-(NSString *)numberOfPhotos
{
NSString *MyPath = @"/rootdirectory/";
NSArray *directoryContent = [[NSFileManager defaultManager] directoryContentsAtPath:MyPath];
return [NSString stringWithFormat:@"%d", [directoryContent count]];
}
Stavo pensando che forse qualcosa di simile
for (file in folder){
[file count]
{
, ma pretende molto sembra funzionare.
UPDATE: In realtà, era molto semplice:
NSDirectoryEnumerator *subs = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:musicPath error:nil];
Soluzione
NSDirectoryEnumerator *subs = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:musicPath error:nil];
Altri suggerimenti
Sei sulla strada giusta. Avete bisogno di un metodo ricorsivo. Si passa in una directory, il metodo prende tutti i file nella directory, quindi controlla ogni uno per vedere se si tratta di una directory o meno. Qui si avrebbe un ciclo for per verificare se l'oggetto corrente è una directory. Se si tratta di una directory, allora non sarebbe in chiamata con il nome della directory. In caso contrario, incrementa un contatore di uno e continua.
Codice non possono inserire in questo momento, ma questo è il modo in cui lo faresti.
vedere se riesco a scrivere codice utilizzando la tastiera iPad ... Utilizzando pseudo codice per descrivere l'algoritmo ricorsivo:
int fileCount(directory)
{
int count = 0;
for (file in directory)
{
if (isDirectory(file))
count += fileCount(file);
else
count++;
}
return count;
}