zoukankan      html  css  js  c++  java
  • 用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();
    }
    }

  • 相关阅读:
    MyEclipse 快捷键
    Oracle使用split和splitstr函数批量分隔字符串
    linux解压 tar命令
    Crontab的用法
    .net 连接ORACLE中文显示乱码解决方案
    python 列表
    关于ios 11 的问题
    初步了解会计学
    iOS关于直播的链接
    知识链接中.....
  • 原文地址:https://www.cnblogs.com/duibd/p/6617906.html
Copyright © 2011-2022 走看看