您的位置:首页 > 其它

运用递归思想实现剪切任意文件夹

2017-02-17 21:21 218 查看
package cn.itcast.flow;

import java.io.File;

/**
* @author 王金龙
* @date 创建时间: 2017-2-17 下午7:52:50
* @version 1.0
*/
public class Recursion {

public static void main(String[] args) {
// TODO Auto-generated method stub
//给定对应的源目录和目标目录
File sourceDir=new File("F:\\java电子书");
File targetFile=new File("E:\\BaiduYunDownload\\");
cutFile(sourceDir,targetFile);
}
//移动一个非空的目录到另一个地方(剪切)
public static void cutFile(File sourceDir,File targetFile ){
if(!sourceDir.exists()||!targetFile.exists()){
System.out.println("源目录或者目标目录不存在!!!请检查!!!");
return;
}
if(!sourceDir.isDirectory()||!targetFile.isDirectory()){
System.out.println("源目录或者目标目录不是指定的目录!!!请检查!!");
return;
}
//获取源文件夹名字
String s=sourceDir.getName();
//在指定路径下创建一个File文件并且创建对应源文件
File cfile= new File(targetFile,s);
cfile.mkdir();

//遍历源目录
File[] files = sourceDir.listFiles();
for(File file : files){
if(file.isFile()){
//调用File类的renameTo方法实现剪切
file.renameTo(new File(cfile,file.getName()));
}else if(file.isDirectory()){
//运用递归实现
cutFile(file,new File(cfile,File.separator));
}
}
//删除源文件
sourceDir.delete();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  递归