• java 提取目录下所有子目录的文件到指定位置


    package folder;

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;

    public class folder {
    /**
    * java 提取目录下所有子目录的文件到指定位置
    * @throws IOException
    *
    * */
    public static void main(String[] args) throws IOException {
    String uploadFilePath="D:\AFile";
    Map<String,String> fileNameMap=new HashMap<String, String>();
    display(fileNameMap);
    listfile(new File(uploadFilePath),fileNameMap);


    }

    private static void display(Map<String, String> fileNameMap) throws IOException {
    // TODO Auto-generated method stub
    Iterator it2=fileNameMap.keySet().iterator();
    while (it2.hasNext()){
    Object key=it2.next();
    String value=fileNameMap.get(key);
    File f=new File(key.toString());
    if(!f.isDirectory()){
    String s="D:\BFile"+value;
    copyFile(key.toString(),s);
    }
    }



    }

    private static void copyFile(String src, String dest) throws IOException {
    // TODO Auto-generated method stub
    FileInputStream in=new FileInputStream(src);
    File file=new File(dest);
    if(!file.exists()){
    file.createNewFile();
    FileOutputStream out=new FileOutputStream(file);
    int c;
    byte buffer[]=new byte[1024];
    while((c=in.read(buffer))!=-1)
    {
    for (int i = 0; i < c; i++) {
    out.write(buffer[i]);
    }
    }

    }

    }

    private static void listfile(File file, Map<String, String> fileNameMap) {
    // TODO Auto-generated method stub
    //如果file代表的不是一个文件,而是一个目录
    if(!file.isFile()){
    //列出该目录下的所有文件和目录
    File files[]=file.listFiles();
    for (File f : files) {
    listfile(f,fileNameMap);
    }
    }
    else{
    String realName=file.getName();
    fileNameMap.put(file.toString(), realName);
    }
    }

    }

    java 搞这个 要写这么多代码。

    Python 搞这些就方便很多。  一句话就可以了,比较方便。

  • 相关阅读:
    【python学习笔记02】python的数据类型2
    元器件选型(一)ESD、TVS参考资料
    【python学习笔记01】python的数据类型
    你不知道的vue生命周期钩子选项(三)
    vue源码解析之选项合并(二)
    vue源码解析之选项合并(一)
    聊聊var与let 在window下面的区别(除开作用域)
    浅谈JavaScript中的防抖和节流
    Redhat6.4下安装Oracle10g
    Ubuntu Server 14.04 集成
  • 原文地址:https://www.cnblogs.com/szw-blog/p/5478131.html
Copyright © 2020-2023  润新知