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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

import java.util.*;
import java.io.*;
class  CopyFiles
{
        public static void main(String[] args) throws Exception
        {
                File file = new File("D:\\BaiduMusic");
                File destFile = new File("F:\\迅雷下载");
                copyFile(file,destFile);
                System.out.println("传输完成");
        }
        private static void copyFile(File srcFile,File destFile) throws Exception
        {
                if(!destFile.exists())
                {
                        destFile.mkdir();
                }
                File[] files = srcFile.listFiles();
                for(File file:files)
                {
                        if(file.isFile())
                        {
                                String srcFileName = file.getName();
                            File aDestFile = new File(destFile,srcFileName);
                            copy(file,aDestFile);
                        }
                        else if(file.isDirectory())
                        {
                                String srcDir = srcFile.getAbsolutePath()+File.separator+file.getName();
                                String destDir = destFile.getAbsolutePath()+File.separator+file.getName();
                                copyDir(srcDir,destDir);
                        }
                }
        }
        private static void copy(File file,File destFile) throws Exception
        {
                BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
                BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destFile));
                int len = 0;
                byte[] bytes = new byte[1024];
                while((len=bis.read(bytes))!=-1)
                {
                        bos.write(bytes,0,len);
                }
        }
        private static void copyDir(String srcDir,String destDir) throws Exception
        {
                File destFile = new File(destDir);
                destFile.mkdirs();
                File srcFile = new File(srcDir);
                copyFile(srcFile,destFile);
        }
}


5 个回复

倒序浏览
之前写了一个只能复制一级文件夹的小程序,有很多不足的,感谢指出错误的吧友
回复 使用道具 举报
愿大家一起学习,早日进入黑马大家庭
回复 使用道具 举报
不知道在这里能不能找到7月28号报java就业班的朋友
回复 使用道具 举报
亲,你的bis和bos要增加一条close语句,关闭流对象
回复 使用道具 举报
aliali007 发表于 2016-6-26 20:41
亲,你的bis和bos要增加一条close语句,关闭流对象

对对。、老是忘记关闭资源
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马