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

java遍历文件夹下所有图片_遍历指定文件夹下的所有图片,并复制到指定目录下…importjava.awt.image.BufferedImage;importjava.io.File;importjava.io.IOException;importjava.util.ArrayList;importjava.util.List;importjavax.imageio.ImageIO;publicclassCopy{/***遍历文件夹下的所有图片文件,并复制到指定文件夹…

大家好,又见面了,我是你们的朋友全栈君。

importjava.awt.image.BufferedImage;importjava.io.File;importjava.io.IOException;importjava.util.ArrayList;importjava.util.List;importjavax.imageio.ImageIO;public classCopy

{/*** 遍历文件夹下的所有图片文件,并复制到指定文件夹下*/

static String srcfile = “E:/Images/照相摄像”;//源目录

static String filetype = “.jpg”;//关键字

static List flist = new ArrayList();//存放遍历的文件

public static voidmain(String[] args)

{

File file= newFile(srcfile);

File[] list=file.listFiles();//源文件夹

List flist1 = newArrayList();for(int i=0;i

flist1.add(list[i]);

}

searchDirectory(flist1);

wFile(flist,filetype);

System.out.println(“复制完成”);

}public static void searchDirectory(Listlist){

List dlist0 = new ArrayList();//一级目录

List 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

File[] list0=dlist0.get(i).listFiles();for(int j=0;j

dlist1.add(list0[j]);

}

}

searchDirectory(dlist1);

}return;

}//读写文件

public static void wFile(Listflist,String filetype){for(File file :flist){if(file.isFile()){//包含关键字

if(file.toString().toLowerCase().contains(filetype.toLowerCase())){//把文件写到指定 的文件夹中

try{

BufferedImage image= ImageIO.read(newFile(file.toString()));//指定要复制的路径

ImageIO.write(image, “jpg”, new File(“G:/images/”+file.getName()+”.jpg”));

}catch(IOException e)

{

e.printStackTrace();

}

}

}

}

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137840.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 手机号码归属地 mysql_最新手机号段归属地数据库 (2021年1月版) 471402行

    手机号码归属地 mysql_最新手机号段归属地数据库 (2021年1月版) 471402行//名称:手机号码归属地查询dat高效率查询内存优化版//压缩:原版txt为22M,生成这种dat结构为2.66M//性能:每秒解析300万+号段或者号码,简洁高效//环境:CPUi7-7700K+内存16GB//创建:qqzeng-ipusingSystem;usingSystem.Collections.Generic;usingSystem.IO;usingSystem.Text;…

    2022年7月22日
    14
  • html url编码、url解码

    html url编码、url解码

    2022年2月20日
    165
  • setLayout()和GridData的设置[通俗易懂]

    setLayout()和GridData的设置[通俗易懂]总结:(1)setLayout()是设置界面布局,如界面有几行几列如jf.setLayout(newGridLayout(2,1));//容器共有2行1列。GridLayoutlayout=newGridLayout();layout.numColumns=4;//设置容器的列数layout.makeColumnsEqualWidth=false;//设…

    2022年5月10日
    38
  • cnpm安装步骤[通俗易懂]

    cnpm安装步骤[通俗易懂]安装nodeJS官网下载:https://nodejs.org/zh-cn/download/releases/选版本点击下载然后下载后缀名为msi,因为安装简单二、创建文件夹安装完成后我们打开它的目录创建两个文件夹(后面配置环境变量需要)node_cachenode_global三、配置npm的全局模块的存放路径、cache的路径win+r输入cmd打开命令提示符窗口,输入:npmconfigsetprefix”选择刚刚创建node_global文件路径”np

    2022年10月16日
    3
  • 设备树格式[通俗易懂]

    设备树格式[通俗易懂]基本数据格式  设备树是一个简单的包含节点和属性的树结构。属性通过键值对形式描述,一个节点可以包含多个属性或子节点,一个简单的.dts格式设备树如下所示。/dts-v1/;/{node1{a-string-property=”Astring”;a-string-list-property=”firststring”,

    2022年6月21日
    47
  • serial.read函数_过程调用属于面向对象吗

    serial.read函数_过程调用属于面向对象吗1.电源管理的状态Android的Linux内核为系统提供了4种电源状态,内核的源码为当中的3种定义了名字和相应的宏定义,名字定义在kernel/power/suspend.c中:1234567constchar*constpm_states[PM_SUSPEND_MAX]={#ifdefCONFI…

    2026年1月19日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号