Devo verificare se una directory è vuota. Il problema è che voglio considerare la directory vuota se contiene una sottocartella, indipendentemente dal fatto che la sottocartella contenga o meno i file. Mi interessa solo i file nel percorso che sto guardando. Questa directory sarà accessibile attraverso la rete, il che complicherà un po 'le cose. Quale sarebbe il modo migliore per farlo?Controllare se la directory non ha file, ma potrebbe contenere sottocartelle
7
A
risposta
24
L'overload del metodo Directory.EnumerateFiles(string)
restituisce solo i file contenuti direttamente nella directory specificata. Non restituisce sottodirectory o file in esso contenuti.
bool isEmpty = !Directory.EnumerateFiles(path).Any();
Il vantaggio di EnumerateFiles
sopra GetFiles
è che l'insieme di file viene enumerato on-demand, il che significa che la query avrà successo non appena il primo file viene restituito (evitando in tal modo la lettura del resto dei file nel directory).
7
Forse questo:
if (Directory.GetFiles(path).Length == 0)...... ;
Problemi correlati
- 1. Come ottenere elementi senza figli, ma potrebbe contenere del testo?
- 2. Controllare se Element ha figli o non
- 3. Controllare se mysqli_query non ha valori?
- 4. Controllare se il file si trova nella (sotto) directory
- 5. controllare se il file esiste in una directory specifica
- 6. Controllare se hash ha una chiave che contiene del testo
- 7. PHP controlla se il file esiste e non la directory
- 8. python trovare la stringa che potrebbe contenere parentesi
- 9. Controllare se la directory è un punto di montaggio?
- 10. C# controllare se una directory è nascosta?
- 11. Controllare se la directory è vuota in Ruby
- 12. Controllare se la classe ha un metodo statico
- 13. Android Controllare se c'è WiFi ma non internet
- 14. Controllare se testo ha un valore vuoto
- 15. Impossibile controllare se AlarmManager ha impostato l'allarme
- 16. Controllare se la proprietà CSS ha attributo importante applicato
- 17. Controllare se la classe ha metodo in PHP
- 18. Come ottenere i file anche nelle sottocartelle dalla directory
- 19. Crea directory se non esiste
- 20. Windows Batch si sposta nella directory che potrebbe non esistere
- 21. Accidentalmente ha impegnato la directory .svn
- 22. Copia autorizzazioni file, ma non file
- 23. Crea directory se non esiste
- 24. Controllare se IEnumerable ha QUALSIASI riga senza enumerazione sull'intero elenco
- 25. .htaccess nega i file nelle sottocartelle
- 26. controllare se un file esiste Objective-C
- 27. Mercuriale: controllare se l'ultimo pull/aggiornamento ha introdotto le modifiche
- 28. Elimina una directory e i relativi file utilizzando la riga di comando ma non genera un errore se non esiste
- 29. Come zip file senza la cartella di livello superiore, ma mantenere le sottocartelle
- 30. Controllare se un file è una directory o solo un file
che è perfetto, esattamente quello che mi serviva! Grazie Douglas. – Tharkis
Per informazioni; Directory.EnumerateFiles (stringa) è stato aggiunto in .NET 4, quindi non funzionerà con le versioni precedenti di .NET. – tomRedox