Browse Source

changes

master
michael 2 years ago
parent
commit
a3efab0058
3 changed files with 28 additions and 9 deletions
  1. +16
    -0
      README.md
  2. BIN
      bin/listarDirectorioTree/tree.class
  3. +12
    -9
      src/listarDirectorioTree/tree.java

+ 16
- 0
README.md View File

@ -0,0 +1,16 @@
<h1> LISTAR UN TREE </h1>
<h2> He utilizado tres funciones para realizar este ejercicio </h2>
<p> <strong> 1.printDirectoryTree </strong> Esta funcion lo que hace unicamente es inicializar las variables que vamos a necesitar </p>
<p> <strong> 2.prindDirectoryTree </strong> 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</p>
<p> <strong> 3.printFile </strong> 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 </p>
<p>Ejemplo del un output</p>
```
+--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
```

BIN
bin/listarDirectorioTree/tree.class View File


+ 12
- 9
src/listarDirectorioTree/tree.java View File

@ -11,11 +11,11 @@ public class tree {
File f = new File(path); File f = new File(path);
System.out.println(printDirectoryTree(f)); System.out.println(printDirectoryTree(f));
} }
//Print Tree
//INICIALIZADOR
//Creamos las variables para ejecutar las funciones
public static String printDirectoryTree(File directorio) { public static String printDirectoryTree(File directorio) {
if(!directorio.isDirectory()) { if(!directorio.isDirectory()) {
throw new IllegalArgumentException("No es un directorio"); 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) { private static void printDirectoryTree(File directorio, int indent, StringBuilder sb) {
if(!directorio.isDirectory()) { if(!directorio.isDirectory()) {
throw new IllegalArgumentException("No es un directorio"); 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"); sb.append(getIndentString(indent));sb.append("+--");sb.append(directorio.getName());sb.append("/");sb.append("\n");
for (File fichero : directorio.listFiles()) { for (File fichero : directorio.listFiles()) {
if(fichero.isDirectory()) { if(fichero.isDirectory()) {
//llamamos a la misma funcion
printDirectoryTree(fichero, indent + 1, sb); printDirectoryTree(fichero, indent + 1, sb);
}else { }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"); sb.append(getIndentString(indent));sb.append("+--");sb.append(fichero.getName());sb.append("\n");


Loading…
Cancel
Save