给定一个目录,打印目录树中以给定目录为根的所有文件和文件夹。
null
我们可以在 BFS 使用以下步骤。我们创建一个空队列,首先将给定的目录路径放入队列。我们在队列不为空时运行循环。我们从队列中取出一个项目。如果弹出项是一个目录,则获取其中存在的所有文件和目录的列表,并将每个目录添加到队列中。如果弹出的项目是一个文件,我们打印它的名称。
// Java program to print all files/directories // present in a directory. import java.io.File; import java.util.LinkedList; import java.util.Queue; class FileUtils { public static void printDirsFiles(String inputDir) { /* make a queue to store files and directories */ Queue<File> queue = new LinkedList<>(); queue.add( new File(inputDir)); /* loop until queue is empty -*/ while (!queue.isEmpty()) { /* get next file/directory from the queue */ File current = queue.poll(); File[] fileDirList = current.listFiles(); if (fileDirList != null ) { /* Enqueue all directories and print all files. */ for (File fd : fileDirList) { if (fd.isDirectory()) queue.add(fd); else System.out.println(fd); } } } } /* Iterative function to traverse given directory in Java using BFS*/ public static void main(String[] args) { String inputDir = "C:\Programs" ; printDirsFiles(inputDir); } } |
本文由 普拉纳夫 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END