From 59ef2f484b6da69366c904684a146a6de4a4d2c3 Mon Sep 17 00:00:00 2001 From: jandroalbus Date: Wed, 28 Sep 2022 12:38:58 +0200 Subject: [PATCH] Commit inicial --- TreeArchivos/.classpath | 10 ++ TreeArchivos/.project | 17 +++ .../org.eclipse.core.resources.prefs | 2 + .../.settings/org.eclipse.jdt.core.prefs | 14 ++ TreeArchivos/README.md | 127 ++++++++++++++++++ .../bin/TreeArchivos/TreeArchivos.class | Bin 0 -> 1606 bytes .../src/TreeArchivos/TreeArchivos.java | 40 ++++++ 7 files changed, 210 insertions(+) create mode 100644 TreeArchivos/.classpath create mode 100644 TreeArchivos/.project create mode 100644 TreeArchivos/.settings/org.eclipse.core.resources.prefs create mode 100644 TreeArchivos/.settings/org.eclipse.jdt.core.prefs create mode 100644 TreeArchivos/README.md create mode 100644 TreeArchivos/bin/TreeArchivos/TreeArchivos.class create mode 100644 TreeArchivos/src/TreeArchivos/TreeArchivos.java diff --git a/TreeArchivos/.classpath b/TreeArchivos/.classpath new file mode 100644 index 0000000..57bca72 --- /dev/null +++ b/TreeArchivos/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/TreeArchivos/.project b/TreeArchivos/.project new file mode 100644 index 0000000..06e7010 --- /dev/null +++ b/TreeArchivos/.project @@ -0,0 +1,17 @@ + + + TreeArchivos + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/TreeArchivos/.settings/org.eclipse.core.resources.prefs b/TreeArchivos/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/TreeArchivos/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/TreeArchivos/.settings/org.eclipse.jdt.core.prefs b/TreeArchivos/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..8c9943d --- /dev/null +++ b/TreeArchivos/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,14 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=17 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=17 diff --git a/TreeArchivos/README.md b/TreeArchivos/README.md new file mode 100644 index 0000000..1a26a58 --- /dev/null +++ b/TreeArchivos/README.md @@ -0,0 +1,127 @@ +#README.md + +##Titulo +Tree Archivos + +##Autor +Alejandro Javier Albus 2CFGS DAM + +##Enunciado +ACT02: Crea un programa que muestra el contenido de un directorio que le pasemos por parámetro en la consola de +comandos que indique el nombre del directorio pasado y liste todos sus subdirectorios de forma recursiva. +Para cada directorio se muestran primero los archivos y a continuación las carpetas que contienen de forma recursiva. +Tanto el Linux como Windows existe el comando 'tree', intenta realizar un programa recursivo en Java llamado 'arbol' +que haga lo mismo que ese comando. + +##Uso +Introduzca como argumento en el terminal la ruta a listar. Si no introduce una ruta con un LENGTH de =+ 1 caracteres no se ejecutará correctamente. + +##Ejemplo de ejecución +Por ejemplo, tenemos una carpeta de programas java llamada "‪C:\Users\jandr\Desktop\1DAM - IdeaProjects" - le pasaremo la PATH como ARGS. +Y nos saldría algo como ... + +-> + +*C:\Users\jandr>java "C:\Users\jandr\Desktop\EjercicioTree.java" "C:\Users\jandr\Desktop\1DAM - IdeaProjects"* + +└-\1DAM - IdeaProjects + └-\Objetos y herencia + └-\ArrayLists + └-\.gradle + └-\7.1 + └-\dependencies-accessors + └-\dependencies-accessors.lock + └-\gc.properties + └-\executionHistory + └-\executionHistory.bin + └-\executionHistory.lock + └-\fileChanges + └-\last-build.bin + └-\fileHashes + └-\fileHashes.bin + └-\fileHashes.lock + └-\gc.properties + └-\vcsMetadata-1 + └-\buildOutputCleanup + └-\buildOutputCleanup.lock + └-\cache.properties + └-\outputFiles.bin + └-\checksums + └-\checksums.lock + └-\vcs-1 + └-\gc.properties + └-\workspace-id.txt + └-\workspace-id.txt.lock + └-\.idea + └-\.gitignore + └-\compiler.xml + └-\gradle.xml + └-\jarRepositories.xml + └-\misc.xml + └-\uiDesigner.xml + └-\workspace.xml + └-\build + └-\classes + └-\java + └-\main + └-\EjemploInterfaz + └-\EjemploInterfaz.class + └-\Ejercicio6 + └-\Ejercicio6.class + └-\Game$PlayResult.class + └-\Game.class + └-\IStrategy.class + └-\Player.class + └-\Printable.class + └-\StrategyMiddle$1.class + └-\StrategyMiddle.class + └-\StrategyOnlyEvens$1.class + └-\StrategyOnlyEvens.class + └-\EjemploMap + └-\EjemploMap.class + └-\Ejercicio1 + └-\Ejercicio1.class + └-\Ejercicio10 + └-\Company.class + └-\Ejercicio10.class + └-\Employee.class + └-\IEmployee.class + └-\ISon.class + └-\Son.class + └-\Wage.class + └-\Ejercicio11 + └-\Ejercicio11.class + └-\Group.class + └-\Professor.class + └-\Room.class + └-\School.class + └-\Student.class + └-\Subject.class + └-\Ejercicio2 + └-\Ejercicio2.class + └-\IStats.class + └-\StatsArrayLists.class + └-\Ejercicio3 + └-\Ejercicio3.class + └-\IPila.class + └-\Pila.class + └-\Ejercicio4 + └-\Cola.class + └-\Ejercicio4.class + └-\ICola.class + └-\Ejercicio5 + └-\Ejercicio5.class + └-\Patient.class + +(...) + +<- + +##Dependencias +Uso de librerias externas: +* java.io.File +* java.io.IOExceptio +* java.util.Scanner + +##Licencia +Uso libre \ No newline at end of file diff --git a/TreeArchivos/bin/TreeArchivos/TreeArchivos.class b/TreeArchivos/bin/TreeArchivos/TreeArchivos.class new file mode 100644 index 0000000000000000000000000000000000000000..3ac296b4e0e25c3d031ed37a75f36f1b2c1282f5 GIT binary patch literal 1606 zcmZ`(O5x^i6?;8UN6AJ9MG-fjOvpVD(Dph0kR@4WZpyyu+vz4P~fe{BP}3fn+TU|=aw z>Uv22=qLZ8?xw1Z>>0Ad8q7Ap!163IpH;dcz)!bKw{djsx;zAndm^L zz|pefskvsYqJkw^ag{)(?Ay}4Cj&>vyNii%-DwD%D!1p{N1#OTnshvYsA?t#aFTlb zCgo*YnTTy&{P#=Dc6$0 zTC=9S(6{QcA*+5Gr(qfRu#ICIzKJs!5-{pIrAx)x{9%F(oE0$lG|o6Kjn83N8$Xmp zUI1wb6ikd_Od#btjZhz=&ADAX%F-*P!_a9rS@Uq;A#QWCF2i+Q%mbC6y$=MAv^MrK z2y`!o(*9*u)}x9W_;|ndQ56k*BGCUX;*F-`R#lM3C46S$GS~^mhIE^1o_U7bt!Xu7 zY2+ZOG^Q||1p74c`tjp&9e!crI&QFoWxcMvs=#p~}fw|A{?nO+J%|~2MA@(nN3|un!$w$WnTH!0w?Bu*kDlaj$Jo*BkZsAJi>Lxya zj%kjCP0VoG#8)KBVD + String path = "."; + + if (args.length >= 1) + path = args[0]; + else + System.out.println("- Fallo en la inicializacion, compruebe el argumento pasado"); + + File f = new File(path); + // <- + + listFiles(f, ""); + + } + + /** + * listFiles() + * Metodo recursivo que tras el argumento pasado lista los archivos y/o directorios + * @param f + */ + public static void listFiles(File f, String spaces) { + + System.out.println(spaces + "└-" + File.separator + f.getName()); + + if (f.isDirectory() && f.canRead()) + for (File file : f.listFiles()) + listFiles(file, spaces.concat(" ")); + + } + +}