zoukankan      html  css  js  c++  java
  • java 提取目录下所有子目录的文件到指定位置

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    public class Tiqu {
    
        public static void main(String[] args) throws IOException {
             String uploadFilePath = "C:/java_eclipsnew/Tiqu_file/temp";
                Map<String,String> fileNameMap = new HashMap<String,String>();
                listfile(new File(uploadFilePath),fileNameMap);//File既可以代表一个文件也可以代表一个目录
                display(fileNameMap);
        }
    
        public static void listfile(File file,Map<String,String> map){
        //如果file代表的不是一个文件,而是一个目录
            if(!file.isFile()){
                //列出该目录下的所有文件和目录
                File files[] = file.listFiles();
                //遍历files[]数组
                for(File f : files){
                    //递归
                    listfile(f,map);
                }
            }else{
                String realName = file.getName();
                map.put(file.toString(), realName);
            }
        }
        public static void display(Map<String,String> map) throws IOException{
            Iterator it2=map.keySet().iterator();
    
            while(it2.hasNext()){
                Object key = it2.next();
                String value = map.get(key);
                File f=new File(key.toString());
                if(!f.isDirectory()){
                    String s="C:/java_eclipsnew/Tiqu_file/temp/"+value;
                    copyFile(key.toString(),s);
                }
            }
        }
         public static void copyFile(String src,String dest) throws IOException{
             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]);        
             }
             in.close();
             out.close();
         }
        
    }

     以文件夹命名递增

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    public class Tiqu {
    
        public static void main(String[] args) throws IOException {
             String uploadFilePath = "C:/java_eclipsnew/Tiqu_file/temp";
                Map<String,String> fileNameMap = new HashMap<String,String>();
                listfile(new File(uploadFilePath),fileNameMap);//File既可以代表一个文件也可以代表一个目录
                display(fileNameMap);
        }
    
        public static void listfile(File file,Map<String,String> map){
        //如果file代表的不是一个文件,而是一个目录
            if(!file.isFile()){
                //列出该目录下的所有文件和目录
                File files[] = file.listFiles();
                //遍历files[]数组
                for(File f : files){
                    //递归
                    listfile(f,map);
                }
            }else{
                String realName = file.getName();
                map.put(file.toString(), realName);
            }
        }
        public static void display(Map<String,String> map) throws IOException{
            Iterator it2=map.keySet().iterator();
            int i=1;
            while(it2.hasNext()){
                Object key = it2.next();
                
                File f=new File(key.toString());
                String value = f.getParent().substring(f.getParent().lastIndexOf("\")+1)+".jpg";
    
                if(!f.isDirectory()){
                    String s="C:/java_eclipsnew/Tiqu_file/temp/"+i+value;
                    //System.out.println(s);
                    i++;
                    copyFile(key.toString(),s);
                }
            }
        }
         public static void copyFile(String src,String dest) throws IOException{
             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]);        
             }
             in.close();
             out.close();
         }
        
    }
  • 相关阅读:
    Unity下Reflection相关测试记录
    【疯狂造轮子-iOS】JSON转Model系列之一
    【原】FMDB源码阅读(三)
    【原】FMDB源码阅读(二)
    【原】FMDB源码阅读(一)
    (没时间维护,已下架)博客园第三方客户端-i博客园正式发布App Store
    【原】AFNetworking源码阅读(六)
    【原】AFNetworking源码阅读(五)
    【原】AFNetworking源码阅读(四)
    【原】AFNetworking源码阅读(三)
  • 原文地址:https://www.cnblogs.com/shortail/p/5126373.html
Copyright © 2011-2022 走看看