• 用Java实现将多级文件夹下的所有文件统一放到一个文件夹中


    每次下了电影(男生懂得呦),每部电影都放在一个单独的文件夹里,看的时候很是不方便啊,一直重复着进入文件夹、后退,再进、再退的操作,而手动把这些电影全部复制出来又太繁琐。因此为了解决这个问题,用IO写了一个小工具。

    以下代码只实现了把多级文件夹下的所有文件复制到一个文件夹中,如果需要指定复制文件的格式,可以在1111处添加一个判断。如果需要同时删除原文件夹可以在添加一个递归删除的方法。

    package Bao;

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


    public class CopyFolderDemo {
    public static void main(String[] args) throws IOException {
    // 封装数据源File
    File srcFile = new File("d:\\文件夹名字");    //这里填源文件夹路径

    copyFolder(srcFile);
    //copyFile(srcFile);
    }

    private static void copyFolder(File srcFile)
    throws IOException {
    // 判断该File是文件夹还是文件
    File[] ff=srcFile.listFiles();
    for(File f:ff){

    //如果是文件夹,则递归调用
    if(f.isDirectory()){
    copyFolder(f);
    }else{               ///11111

    //如果是文件则复制
    copyFile(f);
    //System.out.println(f.getName());


    }
    }
    }
    //用字节缓冲流实现文件复制
    private static void copyFile(File srcFile) throws IOException {

    File destFile = new File("d:\\文件夹名字",srcFile.getName());   //这里写目的文件夹路径
    BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
    srcFile));
    BufferedOutputStream bos = new BufferedOutputStream(
    new FileOutputStream(destFile));

    byte[] bys = new byte[1024];
    int len = 0;
    while ((len = bis.read(bys)) != -1) {
    bos.write(bys, 0, len);
    }

    bos.close();
    bis.close();
    }
    }

  • 相关阅读:
    wpf 用c#代码给img指定uri
    c 指针作为出参
    wpf获得系统毫秒数
    绑定元素的长宽(Canvas的子类自动伸展)
    PB与COM之关于创建COM,MTS, and COM+组件(1)
    ASA破解密码
    遭遇奸商(显卡篇)
    “启动Word时提示出错,只能用安全模式才能打开”的解决方法
    PowerSocket对象与HostName
    制做集成SATA驱动的XP安装盘
  • 原文地址:https://www.cnblogs.com/duibd/p/6617906.html
Copyright © 2020-2023  润新知