zoukankan      html  css  js  c++  java
  • 遍历指定文件夹下的所有图片,并复制到指定目录下

    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.imageio.ImageIO;
    
    
    public class Copy
    {
    
        /**
         * 遍历文件夹下的所有图片文件,并复制到指定文件夹下
         */
        static String srcfile = "E:/Images/照相摄像";//源目录
        static String filetype = ".jpg";//关键字
        static List<File> flist = new ArrayList();//存放遍历的文件
        public static void main(String[] args)
        {
            File file = new File(srcfile);
            File[] list =file.listFiles();//源文件夹
            List<File> flist1 = new ArrayList();
            for(int i=0;i<list.length;i++){
                flist1.add(list[i]);
            }
            searchDirectory(flist1);
            wFile(flist,filetype);
            System.out.println("复制完成");
        }
        
        public static void searchDirectory(List<File> list){
            List<File> dlist0 = new ArrayList();//一级目录
            List<File> dlist1 = new ArrayList();//一级目录下的子目录
            //遍历的文件夹,将文件和文件夹分类
            for(File file: list){
                if(file.isDirectory()){
                   dlist0.add(file);
                }else{
                    flist.add(file);//文件存放到文件list中
                }
            }
            /**
             * 遍历子文件夹
             * 递归调用该方法,把目录和文件分开
             * */
            if(dlist0.size()>0||!dlist0.isEmpty()){
                for(int i=0;i<dlist0.size();i++){
                    File[] list0 = dlist0.get(i).listFiles();
                    for(int j=0;j<list0.length;j++){
                        dlist1.add(list0[j]);
                    }
                }
                searchDirectory(dlist1);
            }
            return ;
        }
        //读写文件
        public static void wFile(List<File> flist,String filetype){
            for(File file :flist){
                if(file.isFile()){
                    //包含关键字
                    if(file.toString().toLowerCase().contains(filetype.toLowerCase())){
                        //把文件写到指定 的文件夹中
                        try
                        {
                            BufferedImage image = ImageIO.read(new File(file.toString()));
                            //指定要复制的路径
                            ImageIO.write(image, "jpg", new File("G:/images/"+file.getName()+".jpg"));
                        }
                        catch (IOException e)
                        {
                            e.printStackTrace();
                        }
                    }
                }
            }
        }
        
        
    }
  • 相关阅读:
    js 中添加空格
    js radio 赋值取值
    对于不返回任何键列信息的 selectcommand 不支持 updatecommand 的动态 sql 生成
    Adapter
    MySQL学习笔记:while循环
    GIS数据资源下载
    观察者模式与发布订阅模式
    Cesium局部区域精细瓦片数据下载技巧
    Cesium加载地形数据只显示半个地球
    git教程和命令集合
  • 原文地址:https://www.cnblogs.com/hefeisf/p/4934691.html
Copyright © 2011-2022 走看看