Necesito verificar si un directorio está vacío. El problema es que quiero considerar el directorio vacío si contiene una subcarpeta independientemente de si la subcarpeta contiene o no archivos. Solo me importan los archivos en el camino que estoy viendo. Se accederá a este directorio a través de la red, lo que complica un poco las cosas. ¿Cuál sería la mejor manera de hacerlo?Compruebe si el directorio no tiene archivos, pero puede contener subcarpetas
7
A
Respuesta
24
La sobrecarga del método Directory.EnumerateFiles(string)
solo devuelve los archivos que contienen directamente dentro del directorio especificado. No devuelve ningún subdirectorio o archivo contenido en él.
bool isEmpty = !Directory.EnumerateFiles(path).Any();
La ventaja de EnumerateFiles
sobre GetFiles
es que la colección de archivos se enumera en la demanda, lo que significa que la consulta tendrá éxito tan pronto como se devuelve el primer archivo (evitando de esta manera la lectura del resto de los archivos en el directorio).
7
Tal vez esto:
if (Directory.GetFiles(path).Length == 0)...... ;
Cuestiones relacionadas
- 1. Compruebe si un directorio es un (sistema de archivos) raíz
- 2. Compruebe si el cursor tiene resultados
- 3. Compruebe si la propiedad tiene el atributo
- 4. Cómo obtener archivos en las subcarpetas también desde el directorio
- 5. Compruebe si el elemento cliqueado no tiene una clase específica
- 6. Compruebe si existe un directorio en PHP
- 7. Compruebe si una URL tiene http: // prefijo
- 8. Regex - Si contiene '%', sólo puede contener '% 20'
- 9. Compruebe si una función tiene un decorador
- 10. Compruebe si un formulario tiene una clave?
- 11. jQuery: compruebe si un objeto tiene clase
- 12. Compruebe si una clase tiene un método
- 13. jQuery: compruebe si el elemento tiene el atributo CSS
- 14. Compruebe si la clase tiene el método estático
- 15. Compruebe si el nodo Xml tiene un atributo
- 16. Compruebe si un directorio está vacío usando C en Linux
- 17. Compruebe si el archivo tiene un formato CSV con Python
- 18. ¿Puede el nuevo archivo HTML5 manifest.cache contener rutas a directorios?
- 19. jQuery Validation plugin - compruebe si el campo es válido (pero no muestra el mensaje de validación)
- 20. Compruebe si el sistema de archivos Android está encriptado
- 21. La interfaz C# no puede contener operadores
- 22. Compruebe si la fuente personalizada puede mostrar el carácter
- 23. Robots.txt: No permitir subdirectorio pero permiten directorio
- 24. Compruebe si existe un archivo/directorio: ¿hay una mejor manera?
- 25. Node.js: compruebe si el archivo es un enlace simbólico cuando itera sobre el directorio con 'fs'
- 26. C#: compruebe si un archivo no está bloqueado y puede escribir
- 27. Compruebe si una cadena tiene espacio en blanco
- 28. .htaccess 301 carpetas redireccionamiento, pero no las subcarpetas
- 29. Tortoise SVN: ¿cómo svn actualizar la carpeta pero NO sus subcarpetas?
- 30. Consulta para verificar si una columna puede contener nulos
Eso es perfecto, exactamente lo que necesitaba! Gracias Douglas. – Tharkis
Para obtener información; Directory.EnumerateFiles (cadena) se agregó en .NET 4, por lo que no funcionará en versiones anteriores de .NET. – tomRedox