Computer language/JAVA
JAVA) CMD내 TREE 기능 구현
surhommejk
2018. 2. 19. 16:53
package MakeDos;
import java.io.*;
import java.util.*;
public class Functions {
List<ArrayList> dirNames_arr;
public void showTree(File f) {
List<Integer> dirindexlist = new ArrayList();
dirNames_arr = new ArrayList();
List<String> dirNames = new ArrayList();
List<File> dirFiles = new ArrayList();
File[] files = f.listFiles();
// 파라미터로 받은 디렉토리 하위의 모든 폴더에 대한 인덱스값 catch
int tempindex = 0;
for (File temp : files) {
if (temp.isDirectory()) {
dirindexlist.add(tempindex);
}
tempindex++;
}
// catch한 인덱스값을 이용하여 폴더들 이름을 ArrayList에 add
// node 생성을 위한 arr에 add
for (int i = 0; i < dirindexlist.size(); i++) {
dirNames.add(files[(dirindexlist.get(i))].getName());
dirNames_arr.add((ArrayList) dirNames);
}
// catch한 인덱스값을 이용하여 폴더들을 ArrayList에 File로 add
for (int i = 0; i < dirindexlist.size(); i++) {
dirFiles.add(files[(dirindexlist.get(i))]);
}
String nodes = "";
while (true) {
if (f.getParentFile() != null) {
nodes += "";
if (f.getParentFile().getParentFile() != null) {
nodes += "\t";
if (f.getParentFile().getParentFile().getParentFile() != null) {
nodes += "\t";
}
}
}
break;
} // end - while
// 출력
for (int i = 0; i < dirNames.size(); i++) {
System.out.print(nodes);
System.out.println(dirNames.get(i));
showTree(dirFiles.get(i));
}
} // end - showTree
// public void tet(File ff) {
// System.out.println(ff.getParentFile().getParentFile().getName());
// }
} // end - class
package MakeDos;
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
Functions fcs = new Functions();
File f = new File("C:\\Temp");
fcs.showTree(f);
} // end-main
} // end-class

