首页 > 编程语言 > 详细

java-IO流练习

时间:2018-01-20 23:14:31      阅读:205      评论:0      收藏:0      [点我收藏+]

1.从键盘接收两个文件夹路径,把其中一个文件夹中(包含内容)拷贝到另一个文件夹中

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

public class DirCopyDemo {

    public static void main(String[] args) throws IOException {
        Scanner s = new Scanner(System.in);
        System.out.println("输入源目录路径");
        String s1 = s.nextLine();
        System.out.println("输入目的目录路径");
        String s2 = s.nextLine();
        File from = new File(s1);
        File to = new File(s2);
        if(!to.exists()){
            to.mkdirs();
        }
        CopyDir(from, to);
    }

    private static void CopyDir(File from, File to) throws IOException {
        FileInputStream fis = null;
        FileOutputStream fos = null;
        File[] froms = from.listFiles();
        int len=0;
        byte[] wj = new byte[1024];
        for (File f : froms) {
            if (f.isDirectory()) {
                // 如果是文件夹,需要在to中创建一个名称相同的文件夹,
                // 然后再递归到该文件夹里面,复制相应的文件
                // 对于创建的文件夹名称,需要获取到目的to绝对路径,然后加上f的名称
                File newfile = new File(to.getAbsolutePath() + "\\"
                        + f.getName());
                newfile.mkdirs();
                // 此处就需要进入新建的文件夹内部进行递归
                // 这样才能复制该文件夹内的文件
                CopyDir(f, newfile);
            } else {
                // 在输出目的to的文件名称 需要先获取到f的文件名称 然后加上file2的绝对路径
                 //这样就能创建一个名称相同的文件  
                fis = new FileInputStream(f);
                fos= new FileOutputStream(to.getAbsolutePath()+"\\"+f.getName());
                while ((len = fis.read(wj)) != -1) {
                    fos.write(wj, 0, len);
                    fos.flush();
                }
                fis.close();  
                fos.close();  
            }
        }
    }

}

java-IO流练习

原文:https://www.cnblogs.com/czy16/p/8322140.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!