File&&文件搜索深度优先和广度优先
2017-07-28 10:31
330 查看
//给定一个文件路径有了删除没有则创建该文件 public static void createNewFile(String pathname){ File file = new File(pathname); if(file.exists()){ file.delete(); }else{ try { file.createNewFile(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
//给定一个路径,创建文件目录 public static void createDir(String pathname){ File file = new File(pathname); //file.mkdir(); file.mkdirs(); }
//遍历文件目录-->深度优先(采用栈) public static void depthFirstSearch(File file){ if(file.isFile()){ System.out.println("file-->"+file.getAbsolutePath()); return; }else{ System.out.println("dir-->"+file.getAbsolutePath()); File files[] = file.listFiles(); if(files==null || files.length==0){ return; } for (File file2 : files) { senDuFile(file2); } } }
//遍历文件目录-->广度优先(采用队列) public static void broadFirstSearch(File file){ //生成对列 Queue<File> queue = new LinkedList<File>(); //把文件根目录放入队列 queue.offer(file); //循环迭代队列 while(!queue.isEmpty()){ //出队列 File files = queue.poll(); if(files.isFile()){ System.out.println("---->file "+files.getAbsolutePath()); }else{ System.out.println("---->dir "+files.getAbsolutePath()); File filess[] = files.listFiles(); //判断是否为空 if(filess==null || filess.length<0){ return ; } for (File file2 : filess) { queue.offer(file2); } } } }
相关文章推荐
- 深度优先和广度优先搜索文件
- 数据结构与算法--图的搜索(深度优先和广度优先)
- 【数据结构】深度优先搜索BFS和广度优先搜索DFS
- 深度优先搜索遍历与广度优先搜索遍历
- 排序算法 & 迷宫的深度, 广度优先
- 深度优化&广度优先 算法
- 深度优先搜索应用_深度优先生成树&&割点判断
- 优先深度搜索和广度搜索
- 数据结构和算法总结(一):广度优先搜索BFS和深度优先搜索DFS
- 深度优先搜索和广度优先搜索的深入讨论(转自百度文库)
- 深度优先搜索遍历与广度优先搜索遍历
- 迷宫问题的求解方式:应用深度优先和广度优先的搜索
- 广度优先搜索与深度优先搜索的 java 实现
- java深度搜索算法 深度优先搜索——java文件搜索
- 图搜索——深度优先与广度优先
- 迷宫路径&广度优先求解&深度优先求解&迷宫游戏
- 深度优先搜索遍历与广度优先搜索遍历
- 深度优先搜索与广度优先搜索
- 树的非递归遍历(深度优先:前|中|后序遍历) & (广度优先:层次遍历)
- 广度优先搜索二叉树,并返回节点深度