| @ -0,0 +1,10 @@ | |||||
| <?xml version="1.0" encoding="UTF-8"?> | |||||
| <classpath> | |||||
| <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"> | |||||
| <attributes> | |||||
| <attribute name="module" value="true"/> | |||||
| </attributes> | |||||
| </classpathentry> | |||||
| <classpathentry kind="src" path="src"/> | |||||
| <classpathentry kind="output" path="bin"/> | |||||
| </classpath> | |||||
| @ -0,0 +1,17 @@ | |||||
| <?xml version="1.0" encoding="UTF-8"?> | |||||
| <projectDescription> | |||||
| <name>listarDirectorioTree</name> | |||||
| <comment></comment> | |||||
| <projects> | |||||
| </projects> | |||||
| <buildSpec> | |||||
| <buildCommand> | |||||
| <name>org.eclipse.jdt.core.javabuilder</name> | |||||
| <arguments> | |||||
| </arguments> | |||||
| </buildCommand> | |||||
| </buildSpec> | |||||
| <natures> | |||||
| <nature>org.eclipse.jdt.core.javanature</nature> | |||||
| </natures> | |||||
| </projectDescription> | |||||
| @ -0,0 +1,2 @@ | |||||
| eclipse.preferences.version=1 | |||||
| encoding/<project>=UTF-8 | |||||
| @ -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 | |||||
| @ -0,0 +1,74 @@ | |||||
| package listarDirectorioTree; | |||||
| import java.io.File; | |||||
| import java.util.Iterator; | |||||
| public class tree { | |||||
| public static void main(String[] args) { | |||||
| String path = "/home/michael/Downloads"; | |||||
| File f = new File(path); | |||||
| System.out.println(printDirectoryTree(f)); | |||||
| } | |||||
| //Print Tree | |||||
| public static String printDirectoryTree(File directorio) { | |||||
| if(!directorio.isDirectory()) { | |||||
| throw new IllegalArgumentException("No es un directorio"); | |||||
| } | |||||
| int indent = 0; | |||||
| StringBuilder sb = new StringBuilder(); | |||||
| printDirectoryTree(directorio, indent, sb); | |||||
| return sb.toString(); | |||||
| } | |||||
| // | |||||
| private static void printDirectoryTree(File directorio, int indent, StringBuilder sb) { | |||||
| if(!directorio.isDirectory()) { | |||||
| throw new IllegalArgumentException("No 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()) { | |||||
| printDirectoryTree(fichero, indent + 1, sb); | |||||
| }else { | |||||
| printFichero(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 | |||||
| private static void printFichero(File fichero,int indent, StringBuilder sb) { | |||||
| sb.append(getIndentString(indent));sb.append("+--");sb.append(fichero.getName());sb.append("\n"); | |||||
| } | |||||
| //Dar espacio | |||||
| private static String getIndentString(int indent ) { | |||||
| StringBuilder sb = new StringBuilder(); | |||||
| for (int i = 0; i < indent; i++) { | |||||
| sb.append("| "); | |||||
| } | |||||
| return sb.toString(); | |||||
| } | |||||
| } | |||||
| @ -0,0 +1,9 @@ | |||||
| /** | |||||
| * | |||||
| */ | |||||
| /** | |||||
| * @author michael | |||||
| * | |||||
| */ | |||||
| module listarDirectorioTree { | |||||
| } | |||||