利用队列向进向出的特性将是文件夹的对象依次放入队列中并在下一轮循环中处理
File类中所要使用的方法
public boolean isDirectory()
测试此抽象路径名表示的文件是否是一个目录。
public boolean isFile()
测试此抽象路径名表示的文件是否是一个标准文件。
public String getName()
返回由此抽象路径名表示的文件或目录的名称。
import p2.数据结构.线性表.ArrayLoopQueue;
import p2.数据结构.线性表.ArrayQueue;
import java.io.File;
public class DirctoryTraversal {
public static void main(String[] args) {
File dir = new File("C:\\Users\\23277\\Desktop");
ArrayLoopQueue<File> queue = new ArrayLoopQueue<>();
queue.offer(dir);
/*
* */
while (!queue.isEmpty()){
File file = queue.poll();
System.out.println("mu"+file.getName()+"木");
File[] files = file.listFiles();
for (File f:files) {
if (f.isFile()){
System.out.println(f.getName());
}else {
queue.offer(f);
}
}
}
}
}