Added listing of files
This commit is contained in:
@@ -2,10 +2,6 @@
|
|||||||
<classpath>
|
<classpath>
|
||||||
<classpathentry kind="src" path="src"/>
|
<classpathentry kind="src" path="src"/>
|
||||||
<classpathentry kind="con" path="org.scala-ide.sdt.launching.SCALA_CONTAINER"/>
|
<classpathentry kind="con" path="org.scala-ide.sdt.launching.SCALA_CONTAINER"/>
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk11"/>
|
||||||
<attributes>
|
|
||||||
<attribute name="module" value="true"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="output" path="bin"/>
|
<classpathentry kind="output" path="bin"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
|||||||
1
.project
1
.project
@@ -12,7 +12,6 @@
|
|||||||
</buildCommand>
|
</buildCommand>
|
||||||
</buildSpec>
|
</buildSpec>
|
||||||
<natures>
|
<natures>
|
||||||
<nature>org.scala-ide.sdt.core.scalanature</nature>
|
|
||||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
</natures>
|
</natures>
|
||||||
</projectDescription>
|
</projectDescription>
|
||||||
|
|||||||
@@ -14,11 +14,12 @@ public class Directory {
|
|||||||
Long localSize;
|
Long localSize;
|
||||||
Long totalSize;
|
Long totalSize;
|
||||||
List<Directory> children;
|
List<Directory> children;
|
||||||
|
File[] files = null;
|
||||||
|
|
||||||
public Directory(Directory parent, File fsdir) {
|
public Directory(Directory parent, File fsdir) {
|
||||||
this.parent = parent;
|
this.parent = parent;
|
||||||
this.fsdir = fsdir;
|
this.fsdir = fsdir;
|
||||||
File[] files = fsdir.listFiles(new FileFilter() {
|
files = fsdir.listFiles(new FileFilter() {
|
||||||
@Override
|
@Override
|
||||||
public boolean accept(File f) {
|
public boolean accept(File f) {
|
||||||
return f.isFile() && !Files.isSymbolicLink(f.toPath());
|
return f.isFile() && !Files.isSymbolicLink(f.toPath());
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ import java.io.IOException;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class Test {
|
public class Test {
|
||||||
|
//
|
||||||
|
private static String CORNER = " └── ";
|
||||||
|
private static String BLANK = " ";
|
||||||
|
private static String JUNCTION = " ├── ";
|
||||||
|
private static String LINE = " │ ";
|
||||||
|
|
||||||
static void recurse(Directory d, int level) {
|
static void recurse(Directory d, int level) {
|
||||||
List<Directory> subs = d.children;
|
List<Directory> subs = d.children;
|
||||||
@@ -12,22 +17,21 @@ public class Test {
|
|||||||
Directory child = subs.get(i);
|
Directory child = subs.get(i);
|
||||||
Long ts = child.totalSize;
|
Long ts = child.totalSize;
|
||||||
if (true) /* (ts >= 100000000L) */ {
|
if (true) /* (ts >= 100000000L) */ {
|
||||||
StringBuilder sb = new StringBuilder(String.format("%,16d ", ts));
|
StringBuilder sb = new StringBuilder(String.format("D %,16d ", ts));
|
||||||
String s = "";
|
String s = "";
|
||||||
Directory temp = child;
|
Directory temp = child;
|
||||||
int loop = 0;
|
int loop = 0;
|
||||||
while (temp.parent != null) {
|
while (temp.parent != null) {
|
||||||
/* ─ │ ┌ ┐ └ ┘ ├ ┤ ┬ ┴ ┼ */
|
|
||||||
if (temp.parent.children.indexOf(temp) == temp.parent.children.size() - 1) {
|
if (temp.parent.children.indexOf(temp) == temp.parent.children.size() - 1) {
|
||||||
if (loop == 0) {
|
if (loop == 0) {
|
||||||
s = " └── " + s;
|
s = CORNER + s;
|
||||||
} else {
|
} else {
|
||||||
s = " " + s;
|
s = BLANK + s;
|
||||||
}
|
}
|
||||||
} else if (loop == 0) {
|
} else if (loop == 0) {
|
||||||
s = " ├── " + s;
|
s = JUNCTION + s;
|
||||||
} else {
|
} else {
|
||||||
s = " │ " + s;
|
s = LINE + s;
|
||||||
}
|
}
|
||||||
temp = temp.parent;
|
temp = temp.parent;
|
||||||
loop++;
|
loop++;
|
||||||
@@ -35,13 +39,47 @@ public class Test {
|
|||||||
sb.append(s).append(child.fsdir.getName());
|
sb.append(s).append(child.fsdir.getName());
|
||||||
System.out.println(sb.toString());
|
System.out.println(sb.toString());
|
||||||
}
|
}
|
||||||
if (level <= 4) recurse(child, level + 1);
|
|
||||||
|
/* if (level <= 4) */
|
||||||
|
|
||||||
|
recurse(child, level + 1);
|
||||||
|
|
||||||
|
int j = 0;
|
||||||
|
for (File f : child.files) {
|
||||||
|
Long fs = f.length();
|
||||||
|
StringBuilder sb = new StringBuilder(String.format(" %,16d ", fs));
|
||||||
|
String s = "";
|
||||||
|
Directory temp = child;
|
||||||
|
int loop = 0;
|
||||||
|
while (temp.parent != null) {
|
||||||
|
if (temp.parent.children.indexOf(temp) == temp.parent.children.size() - 1) {
|
||||||
|
s = BLANK + s;
|
||||||
|
} else if (loop == 0) {
|
||||||
|
s = JUNCTION + s;
|
||||||
|
} else {
|
||||||
|
s = LINE + s;
|
||||||
|
}
|
||||||
|
temp = temp.parent;
|
||||||
|
loop++;
|
||||||
|
}
|
||||||
|
if (j == child.files.length - 1) {
|
||||||
|
s = s + CORNER;
|
||||||
|
} else {
|
||||||
|
s = s + JUNCTION;
|
||||||
|
}
|
||||||
|
sb.append(s).append(f.getName());
|
||||||
|
System.out.println(sb.toString());
|
||||||
|
j++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) throws IOException {
|
public static void main(String[] args) throws IOException {
|
||||||
Directory d = new Directory(null, new File("/home/rob"));
|
String parm = args.length > 0 ? args[0] : ".";
|
||||||
String s = String.format("%,16d", d.totalSize) + " " + d.fsdir.getCanonicalPath();
|
File dir = new File(parm);
|
||||||
|
// System.out.println(dir.getCanonicalPath() + "\n");
|
||||||
|
Directory d = new Directory(null, dir);
|
||||||
|
String s = String.format("D %,16d", d.totalSize) + " " + d.fsdir.getCanonicalPath();
|
||||||
System.out.println(s);
|
System.out.println(s);
|
||||||
recurse(d, 1);
|
recurse(d, 1);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user