码迷,mamicode.com
首页 > 其他好文 > 详细

遍历指定文件夹下的所有图片,并复制到指定目录下

时间:2015-11-04 00:43:29      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:

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();
                    }
                }
            }
        }
    }
    
    
}

 

遍历指定文件夹下的所有图片,并复制到指定目录下

标签:

原文地址:http://www.cnblogs.com/hefeisf/p/4934691.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!