@ -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 { | |||||
} |