美文网首页
Java复制某个文件夹所有内容到另一文件夹

Java复制某个文件夹所有内容到另一文件夹

作者: blueIice | 来源:发表于2019-06-06 10:48 被阅读0次

    此代码以C盘text文件j夹复制到D盘aaa为例

    package test;

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.FileOutputStream;

    import java.io.IOException;

    public class Test {

    public static void main(String[] args) throws IOException {

    // 复制C盘文件到D盘

    String sourcePath = "C:/test";

    String newPath = "D:/aaa";

    Test.copyDir(sourcePath, newPath);

    }

    // 复制文件夹

    public static void copyDir(String sourcePath,String newPath) throws IOException{

    (new File(newPath)).mkdirs();

    // 与mkdir()都创建文件夹 ,mkdirs()如果父文件夹不存在也会创建

    File fileList = new File(sourcePath);

    String[] strName = fileList.list();

    // File[] filelistObj = fileList.listFiles();用这个后面需要.getName();

    File temp = null;//游标

    for (int i = 0; i < strName.length; i++) {

    // 如果源文件路径以分隔符File.separator /或者\结尾那就sourcePath

    if (sourcePath.endsWith(File.separator)) {

    temp = new File(sourcePath+strName[i]);

    }else{

    temp = new File(sourcePath+File.separator+strName[i]);

    }

    if(temp.isFile()){

    // 如果游标遇到文件

    FileInputStream in = new FileInputStream(temp);

    // 复制且改名

    File file = new File(newPath+"/"+temp.getName().toString());

    FileOutputStream out = new FileOutputStream(file);

    byte[] buffer = new byte[1024*8];

    int length;

    while((length = in.read(buffer))!=-1){

    out.write(buffer, 0, length);

    }

    out.flush();

    out.close();

    in.close();

    }

    // 如果游标遇到文件夹

    if(temp.isDirectory()){

    copyDir(sourcePath+"/"+strName[i],newPath+"/"+strName[i]);

    }

    }

    }

    }

    相关文章

      网友评论

          本文标题:Java复制某个文件夹所有内容到另一文件夹

          本文链接:https://www.haomeiwen.com/subject/nqyyxctx.html