diff --git a/README.md b/README.md new file mode 100644 index 0000000..4a3e24c --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ + +

LISTAR UN TREE

+ +

He utilizado tres funciones para realizar este ejercicio

+ +

1.printDirectoryTree Esta funcion lo que hace unicamente es inicializar las variables que vamos a necesitar

+

2.prindDirectoryTree Esta funcion envia dos respuestas del objeto file si es directorio lo envia a la misma funcion si no pues lo lleva a la funcion printFile

+

3.printFile Esta funcion lo que hace es usar los strings para representar el tree tambien lo tengo puesto en la funcion prindDirectoryTree con la / para diferenciar que es un directorio

+ +

Ejemplo del un output

+ +``` ++--Downloads/ +| +--code_1.71.2-1663191218_amd64.deb +| +--spring-tool-suite-4-4.16.0.RELEASE-e4.25.0-linux.gtk.x86_64.tar.gz +``` diff --git a/bin/listarDirectorioTree/tree.class b/bin/listarDirectorioTree/tree.class index 0631dad..cc0ade2 100644 Binary files a/bin/listarDirectorioTree/tree.class and b/bin/listarDirectorioTree/tree.class differ diff --git a/src/listarDirectorioTree/tree.java b/src/listarDirectorioTree/tree.java index 0cf52a1..575d7b2 100644 --- a/src/listarDirectorioTree/tree.java +++ b/src/listarDirectorioTree/tree.java @@ -11,11 +11,11 @@ public class tree { File f = new File(path); System.out.println(printDirectoryTree(f)); - } - //Print Tree + //INICIALIZADOR + //Creamos las variables para ejecutar las funciones public static String printDirectoryTree(File directorio) { if(!directorio.isDirectory()) { throw new IllegalArgumentException("No es un directorio"); @@ -28,31 +28,34 @@ public class tree { } - // + //CONTROLADOR + //Del obj directorio cojemos los elementos y por medio de un For each vemos cual es un directorio o fichero. + private static void printDirectoryTree(File directorio, int indent, StringBuilder sb) { if(!directorio.isDirectory()) { throw new IllegalArgumentException("No es un directorio"); } - + //le metos antes del \n un / al final del nombre del dic para diferenciar que es un directorio. sb.append(getIndentString(indent));sb.append("+--");sb.append(directorio.getName());sb.append("/");sb.append("\n"); for (File fichero : directorio.listFiles()) { if(fichero.isDirectory()) { + //llamamos a la misma funcion printDirectoryTree(fichero, indent + 1, sb); }else { - printFichero(fichero,indent + 1 , sb); + printFile(fichero,indent + 1 , sb); } } } - // Por un subdirectorio o fichero que no haya ponemos un espacio (indent) - // Por un subdirectorio o fichero ponermos un +-- - // Al final damos un espacio con /n + // Por fichero que no haya ponemos un espacio (indent) + // Por fichero ponermos un +-- + // Al final damos un espacio con \n - private static void printFichero(File fichero,int indent, StringBuilder sb) { + private static void printFile(File fichero,int indent, StringBuilder sb) { sb.append(getIndentString(indent));sb.append("+--");sb.append(fichero.getName());sb.append("\n");