Generador de árboles aleatorios de directorios


En ocasiones es necesario, normalmente con la finalidad de realizar pruebas en escenarios ficticios, generar árboles de directorios complejos que contengan ficheros de longitud variable.

En mi caso, hace unos años realicé una aplicación de búsqueda inteligente en sistemas de directorios que necesitaba de un árbol de directorios realista sobre el que entrenarse.

De este proyecto nació la herramienta DirMaze que comparto en esta entrada para cualquier desarrollador o usuario que pueda necesitarla. Esta herramienta se encarga de generar un árbol de directorios de profundidad y estructura variables que contiene ficheros aleatorios cuya longitud es, por supuesto, también configurable y aleatoria.

Con este herramienta podemos, además, obtener nombres realistas de directorios y ficheros a partir de un diccionario por defecto o un diccionario que seleccionemos, como veremos más adelante.

Manual de uso

La aplicación se distribuye compilada (Ver sección de descargas más adelante) en un JAR que se ha de ejecutar en un entorno dotado de una JVM. Al ejecutar la aplicación compilada que reside en el directorio 'dist' del empaquetado podremos observar el siguiente diálogo:

Imagen de DirMaze (Ventana principal)

Describo a continuación una serie de puntos que pueden servir como guía para aprender a utilizar la aplicación:

  • La herramienta generará el árbol de directorios sobre la una carpeta 'root' que se crea en el mismo directorio sobre el que se ejecute la aplicación.
  • Podemos seleccionar la cantidad de niveles que tendrá el árbol de directorios, con una profundidad máxima de 4 niveles (Por cuestiones de memoria).
  • Además de la profundidad podemos seleccionar la cantidad de carpetas que se crearán en el nivel superior y la cantidad de archivos que irán a parar en las carpetas hoja del árbol de directorios.
  • El tamaño máximo de los ficheros se puede especificar. Nótese que su valor por defecto es 100Kb y que tamaños muy grandes de este valor pueden generar árboles de directorios de un tamaño demasiado elevado.
  • El tamaño del árbol generado se muestra en una etiqueta en rojo. Este valor corresponde al tamaño total que ocupará el árbol de forma virtual (Tenga en cuenta el lector que el tamaño en disco puede ser algo mayor).

Como se observa en la captura de la interfaz de la aplicación existe un botón de 'Generar' que nos permitirá recrear el árbol tantas veces como queramos y, una vez generado el árbol, podremos pervisualizarlo en la vista de la derecha.

Los nombres de los ficheros se componen de palabras que se obtienen de un diccionario. Por defecto la aplicación incluye un diccionario en inglés en el fichero 'lower.lst' aunque el usuario puede cargar cualquier otro diccionario de nombres que desee.

Las extensiones de fichero son configurables desplegando el cuadro de extensiones a partir del botón que hace referencia al mismo. Podemos incluir cualquier extension que deseemos y serán escogidas de forma aleatoria por el algoritmo.

Links de descarga

El código fuente y los binarios se pueden descargar de la siguiente ubicación. Nótese que se trata de un proyecto de Netbeans por lo que se distribuyen también los ficheros de configuración relativos a dicho entorno.

DirMaze 0.1 (RAR)

NOTA: Tenga en cuenta el lector que la herramienta no tiene garantía de ningún tipo ya que se trata de una versión alfa. Su distribución es con motivos académicos y su uso esperado es dentro de un entorno de pruebas.

Esta entrada fue publicada en Software. Guarda el enlace permanente.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>