• 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();
         }
        
    }
  • 相关阅读:
    【转】Shell编程基础篇-上
    【转】inotify+rsync实现实时同步
    Spring
    jdk,jre,tommcat配置问题
    Java前后台开发
    前端组件学习(一)
    报表工具进阶(二)
    查询时异步刷新问题--用到了ajax
    学习jaspersoft/JasperReport
    利用SQLYog操作数据库mysql
  • 原文地址:https://www.cnblogs.com/shortail/p/5126373.html
Copyright © 2020-2023  润新知