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

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

}
时间: 2024-12-12 04:38:04

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

为什么很多 Android 程序喜欢在存储卡根目录建文件夹来存储数据而不是 Android/data 目录下?

知乎回答. http://www.zhihu.com/question/19866689 pansz,欢迎评论 知乎用户.弓长.知乎用户 赞同 这个道理很简单:因为没人管啊.你乱存放文件,在appstore直接就审核不过了.但是 android 给开发者太多自由.——虽然有时候太多自由比没有自由可能更糟糕. 编辑于 2011-09-30 添加评论 感谢 分享 收藏 • 没有帮助 • 举报 • 作者保留权利 0赞同反对,不会显示你的姓名 杨凯祥,Android开发者.iOS越狱开发者 方便人找到啊

控制bin文件夹里面的dll不复制到临时目录中( &lt;hostingEnvironment shadowCopyBinAssemblies=&quot;false&quot; /&gt;)

One of the things that makes developing ASP.NET applications very cool is that you can rapidly prototype, tweak, and update your application, without having to stop and restart the web server. This includes assemblies (DLLs) used by your application

C# 让你解决方案乱七八糟的DLL放入指定文件夹

嗯,大家的解决方案可能会有许多dll,这样不美观,而且也麻烦. 很多小白都不知道如何将这些dll放到如自己程序的bin文件夹下. 本渣今天来试着将dll复制到指定的文件夹下~ 比如我之前做的一个Winform使用WebKit内核.然后webkit的dll和文件夹就一大堆全堆积在debug目录下. 这也太乱了吧!!!!! 于是我们便打算将这些文件塞入一个叫bin的文件夹内. 只让我的winform程序能被用户一眼看到,让其他麻烦的dll藏在bin就好了owo. 第一步:在程序内新建App.conf

遍历指定文件夹下的所有文件

1 /// <summary> 2 /// 遍历指定文件夹下的文件 3 /// </summary> 4 /// <param name="dirPath">指定的目录</param> 5 public static void FindFile(string dirPath) 6 { 7 //在指定目录及子目录下查找文件 8 DirectoryInfo Dir = new DirectoryInfo(dirPath); 9 try 10

Java 遍历指定文件夹及子文件夹下的文件

/** * 遍历指定文件夹及子文件夹下的文件 * * @author testcs_dn * @date 2014年12月12日下午2:33:49 * @param file 要遍历的指定文件夹 * @param collector 符合条件的结果加入到此List<File>中 * @param pathInclude 路径中包括指定的字符串 * @param fileNameInclude 文件名称(不包括扩展名)中包括指定的字符串 * @param extnEquals 文件扩展名为指定字

批处理脚本遍历指定文件夹下的文件

批处理脚本 1. 遍历指定文件夹下的文件 1.1 命令解释 命令: for [参数] %%变量名 in (匹配符) do (执行的命令) 切记:每个指令之间必须以空格隔开,in 与 ( 之间有空格,do 与 ( 间也有空格,否则命令会无法成功执行 ps:本节只讲用批处理脚本执行 for 命令遍历文件夹的场景,因此以下分析每个指令意义时,不介绍其他含义 []:表示此项指令为可选 [参数]:参数取值一共有四种: /d, /r, /l, /f,加上无参数,所以一共五种场景 无参:遍历当前路径的文件夹下

C#遍历指定文件夹中的所有文件

DirectoryInfo TheFolder=new DirectoryInfo(folderFullName); //遍历文件夹 foreach(DirectoryInfo NextFolder in TheFolder.GetDirectories()) this.listBox1.Items.Add(NextFolder.Name); //遍历文件 foreach(FileInfo NextFile in TheFolder.GetFiles()) this.listBox2.Items

Java遍历一个文件夹下的全部文件

Java工具中为我们提供了一个用于管理文件系统的类,这个类就是File类,File类与其它流类不同的是,流类关心的是文件的内容.而File类关心的是磁盘上文件的存储. 一,File类有多个构造器,经常使用的构造器有: 1.public File(String pathname){} 在pathname路径下创建文件对象 2.public File(String path,String name){} 在path參数指定的文件夹中创建具有给定名字的File对象.假设path为null,构造器将使用

C#遍历指定文件夹中的所有文件(转)

原文链接:http://www.cnblogs.com/qianqianfy/archive/2009/07/08/1518974.html 1. C#遍历指定文件夹中的所有文件 DirectoryInfo TheFolder=new DirectoryInfo(folderFullName); //---遍历文件夹 foreach(DirectoryInfo NextFolder in TheFolder.GetDirectories()) this.listBox1.Items.Add(Ne