A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

[Java] 纯文本查看 复制代码
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
//创建一个文件夹aa  复制 源文件aaa文件夹下的所有内容 到aa下
public class CopyDir {
	public static void main(String[] args) throws IOException {
		//源文件夹
		File aaa=new File("aaa");
		//要复制到的文件夹
		File aa=new File("aa");
		//创建要复制到的文件夹
		aa.mkdir();
		//复制源文件夹里边的所有内容
		copyFile(aaa,aa);
		System.out.println("复制完成");
		
	}

	public static void copyFile(File aaa, File aa) throws IOException {
		//获取源文件夹的文件列表File数组lfs
		File[] lfs = aaa.listFiles();
		//遍历数组lfs
		for (File file : lfs) {
			//判断是否是文件夹
			if(file.isDirectory()){
				//如果file是文件夹,在目的aa文件夹下创建与此file文件夹名字相同的文件夹f
				File f=new File(aa,file.getName());
				f.mkdir();
				//递归继续复制file到f
				copyFile(file, f);
			}else{
				////如果file是文件,在目的aa文件夹下创建与此file文件名字相同的文件f作为写入对象
				File f=new File(aa,file.getName());
				//创建输入流,读取源文件file
				FileReader fr=new FileReader(file);
				//创建输出流,写入到f文件
				FileWriter fw=new FileWriter(f);
				//按着2M大小复制
				char[] ch=new char[1024];
				int len=-1;
				while((len=fr.read(ch))!=-1){
					fw.write(ch,0,len);
				}
				fw.close();
				fr.close();
			}
		}
	}
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马