Iterator递归迭代实例。剪切文件并删除文件夹
来源:互联网 发布:老鼠爱大米 知乎 编辑:程序博客网 时间:2024/05/16 05:18
该实例 用到的为 递归 和迭代。
递归:程序调用自身。在下面的实例中两种方法都用到的递归。
迭代:重复执行小段代码。下面使用的是增强for循环进行迭代。
场景如下:
如图,由于文件夹并没有标明里边具体内容,我想查找里边的资料非常不方便
于是我写了一个小程序,实现了将里边的内容取出,并把这些文件夹删除。
下面是程序执行后的结果。
下面贴源码,主要用到的就是递归和 迭代。
/* *该方法实现的是将文件中的所有文件取出并按原文件名放到指定路径下。 */public static void removeFile(String path,String pathTo){ File file = new File(path); if(file.isDirectory()){ File[] fs = file.listFiles(); if(fs!=null){ for(File fileChild:fs){ String pathChild = null; try { pathChild = fileChild.getCanonicalPath(); } catch (IOException e) { e.printStackTrace(); } removeFile(pathChild,pathTo); } } }else{ String name = file.getName(); File fileFrom = new File(path); File fileTo = new File(pathTo+"\\"+name); fileFrom.renameTo(fileTo); } }
删除文件夹(可删除多级文件夹)
/* * 该方法将路径下的所有文件夹删除。 */ public static void deleteDir(String path){ File file = new File(path); File[] fs = file.listFiles(); for(File f : fs){ if(f.isDirectory()){ String pathChild = f.getAbsolutePath(); deleteDir(pathChild); } } file.delete(); }
测试入口
public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("输入文件所在路径:"); String path = scan.nextLine(); System.out.println("输入目的路径"); String pathTo = scan.nextLine(); scan.close(); removeFile(path,pathTo); deleteDir(path); }
2 0
- Iterator递归迭代实例。剪切文件并删除文件夹
- 文件夹的复制,剪切,删除,及文件追加写实例
- 迭代删除过期文件及文件夹
- 使用Iterator迭代删除
- C#中删除剪切文件和文件夹
- 递归删除 文件/文件夹
- 迭代地删除文件夹及其下的所有文件
- 递归删除文件及文件夹
- 递归删除文件或文件夹
- 递归删除文件,文件夹 linux
- 递归删除文件夹及文件
- 递归删除文件文件夹方法
- 文件和文件夹操作(复制,剪切,删除)
- 【insigma】IO文件和文件夹的复制、删除、剪切
- android--删除文件或递归删除文件夹
- 遍历/删除文件夹文件实例
- 复制 剪切 删除 文件
- 创建、删除文件及文件夹,文件及文件夹的复制、剪切、重命名。
- 《我的RobotFramework书》1-2 测试用例, Test Case
- Retrofit
- Eclipse Mars 如何安装svn
- [转自人人]DSP面经
- PAT Counting Ones (30)
- Iterator递归迭代实例。剪切文件并删除文件夹
- 1101计算表达式
- bzoj1864(树形dp)
- 关于自卑,与君共勉
- 跳坑指南-smb服务器配置
- windows环境下安装npm、cnpm、bower
- studio 设置代码快捷键
- js闭包理解
- 1097 A hard puzzle