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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 等待未来 中级黑马   /  2016-9-21 22:39  /  305 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package homeWork;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Scanner;

public class HomeWork2 {

        /**
         * 3,从键盘接收两个文件夹路径,把其中一个文件夹中(包含内容)拷贝到另一个文件夹中
         * @throws IOException
         */
        public static void main(String[] args) throws IOException {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入需要拷贝的文件夹");
                String outPath = sc.nextLine();
                System.out.println("请输入需要放在的文件夹");
                String inPath = sc.nextLine();
                copyDictory(outPath,inPath);//先复制文件夹
                copyFile(outPath,inPath);        //再复制文件
        }

        public static void copyDictory(String outPath, String inPath) throws IOException {
                File out = new File(outPath);
//                File in = new File(inPath);
                String[] str = out.list();
                for (int i = 0; i < str.length; i++) {
                        String outName = outPath + "\\" + str[i];
                        String intName = inPath + "\\" + str[i];
                        if (new File(outName).isDirectory()) {
                                new File(intName).mkdir();
                                copyDictory(outName,intName);
                        }
               
                }
//                BufferedInputStream bis = new BufferedInputStream(new FileInputStream(outPath));
               
        }
        public static void copyFile(String outPath, String inPath) throws IOException{
                File out = new File(outPath);
                String[] str = out.list();
                for (int i = 0; i < str.length; i++) {
                        String outName = outPath + "\\" + str[i];
                        String intName = inPath + "\\" + str[i];
                        if (new File(outName).isDirectory()) {
                                copyFile(outName,intName);
                        }else{
                                BufferedInputStream bis = new BufferedInputStream(new FileInputStream(outName));
                                BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(intName));
                                int len;
                                while((len = bis.read()) != -1){
                                        bos.write(len);
                                }
                                bis.close();
                                bos.close();
                        }
                }
        }
}

0 个回复

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