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();
         }
        
    }
  • 相关阅读:
    eclipse如何把多个项目放在一个文件夹下【eclipse中对项目进行分类管理】-图示详解
    hibernate中cache二级缓存问题
    Java处理正则验证手机号-详解
    Java处理手机号中间4位替换成*
    WPF:依赖属性的应用
    WPF:自定义路由事件的实现
    WPF:类型转换器的实现
    MFC中CString转化为char*
    Android4.4 往短信收件箱中插入自定义短信(伪造短信)
    OpenCV imread读取图片,imshow展示图片,出现cv:Exception at memory location异常
  • 原文地址:https://www.cnblogs.com/shortail/p/5126373.html
Copyright © 2011-2022 走看看