0
点赞
收藏
分享

微信扫一扫

字符流复制单级目录

c一段旅程c 2022-02-06 阅读 46
java
import java.io.*;

/**
    需求:
            把E:\\itcast 这个文件夹复制到模块目录下
*/
public class CopyFolderDemo {
    public static void main(String[] args) throws IOException {

        //1:创建数据源目录File对象,路径是E:\\itcast
        File srcFolder = new File("E:\\itcast");

        //2:获取数据源目录File对象的名称(itcast)
        String srcFolderName = srcFolder.getName();

        //3:创建目的地目录File对象,路径名是模块名+itcast组成(myCharStream\\itcast)
        File destFolder = new File("D:\\Java\\java作业\\myCharStream", srcFolderName);

        //4:判断目的地目录对应的File是否存在,如果不存在,就创建
        if (!destFolder.exists()) {
            destFolder.mkdir();
        }

        //5:获取数据源目录下所有文件的File数组
        File[] listFiles = srcFolder.listFiles();

        //6:遍历File数组,得到每一个File对象,该File对象,其实就是数据源文件
        for (File srcFile : listFiles) {

            //7:获取数据源文件File对象的名称(psc.png)
            String srcFileName = srcFile.getName();

            //8:创建目的地文件File对象,路径名是目的地目录psc.png组成(myCharStream\\itcast\\psc.png)
            File destFile = new File(destFolder, srcFileName);

            //9:复制文件
            CopyFile(srcFile, destFile);//copy(数据源,目的地)
        }


    }

    private static void CopyFile(File srcFile, File destFile) throws IOException {
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile));
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destFile));
        byte[] bys = new byte[1024];
        int len;
        while ((len = bis.read(bys)) != -1) {
            bos.write(bys, 0, len);
        }
        bis.close();
        bos.close();
    }
}
举报

相关推荐

0 条评论