问答题
本程序的功能是打印出程序所在磁盘下所有目录,方法是将当前目录下的所有目录压入栈,然后弹出一个目录,将该目录下所有的目录压入栈,直到栈空。
import java.io.*;
import java.util.*;
public class exam_25
{ public static void main(String[] args)
{ Stack directoryStack=new Stack();
File root=new File(File.separator + ".");
directoryStack.push(root);
while (
directoryStack.length() > 0
)
{ File currentDirectory=(File)directoryStack.pop();
System.out.println(currentDirectory);
String subdirectories=currentDirectory.list()
;
if (subdirectories != null)
{ for (int i=0; i < subdirectories.length; i++)
{ try
{ String fname
=currentDirectory.getCanonicalPath()
+ File.separator + subdirectories[i];
File f=new File(fname);
if (f.isDirectory())
directoryStack.pop(f)
; }
catch(IOException e)
{ System.out.println(e);
}
}
}
}
}
}