hello world 말고 다른거 2번째로 console에 찍어본다. 1번째는
SQLj 프로그램이었고, 이게 2번째다. 뭐..일단... 재귀호출을 성공시켰으니.. 코드의 꾸짐은 그냥 패스~
c:\test 디렉토리가 존재한다는 가정...
import java.io.File;
class FileTree{
String depth;
int d;
FileTree(){
depth = "";
d = 0;
}
public String replicate(String str, int sum){
String rs = "";
for(int i=1; i <= sum; i++){
rs = rs + str;
}
return rs;
}
public void addDepth(){
d++;
depth = replicate(" ", d);
}
public void minusDepth(){
d--;
depth = replicate(" ", d);
}
public void TreeList(String path){
File f1 = new File(path);
String s[] = f1.list();
for(int i=0;i<s.length;i++){
File child_f = new File(path + "\\" + s[i]);
if (child_f.isDirectory()){
addDepth();
System.out.println(depth + path + "\\" + s[i]);
TreeList(path + "\\" + s[i]);
minusDepth();
}else{
addDepth();
System.out.println(depth + s[i]);
minusDepth();
}
}
}
}
public class FileDirDemo1 {
public static void main(String args[]){
FileTree ftree = new FileTree();
System.out.println("C:\\test");
ftree.TreeList("C:\\test");
}
}