批量复制照片

博主分享了如何处理一个包含多级子文件夹的压缩文件中的照片,为制作屏保幻灯片需要将图片批量复制到同一文件夹。通过编写Java小程序实现了这一功能,简化了手动操作的繁琐。

实现批量复制图片

最近得到一个充满照片的压缩文件,想把他们作为屏保(幻灯片放映的那种),但是他们都在一个大文件下的子文件下的子文件下,就是下图这样的,幻灯片放映效果是所有图片在一个文件夹下,一个个复制也忒麻烦,所以就想到用写了个小程序(java)来解决问题.
在这里插入图片描述

具体代码如下:

import java.io.*;

/**
 * 此类是用来递归的复制文件下的照片的
 * @author Administrator
 *
 */
public class CopyPhoto {
	public static void copyPhoto(File oldFile) throws Exception//oldFile是要复制的那个文件夹
	{
		File[] files=oldFile.listFiles();//这是将oldFile文件夹下的一级文件放到数组中
		for (File file : files) {
			if(file.isDirectory())//判断这个一级文件是不是一个目录
			{
				copyPhoto(file);//是的话递归执行copyPhoto方法
			}else{
				File newFile=new File("D:\\copyTest12");//将要将复制好的文件放到那个文件夹下
				//下面用的是字节流读取的方法,字节流是无法复制照片文件的
				//因为该文件夹下都是图片,所以可以直接复制,如果遇到有文件有图片的可以写一个正则表达式来匹配.
				BufferedInputStream bis=new BufferedInputStream(new FileInputStream(file));
				BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(newFile+"\\"+file.getName()));
				byte[] buf=new byte[1024*20];
				//int a=0;
				int length=0;
				while((length=bis.read(buf))!=-1)
				{
					bos.write(buf,0,length);
				}
				bos.close();
				bis.close();
			}
		}
		
	}
	public static void main(String[] args)  {
		try {
			File oldFile=new File("d:\\javaIO");
			copyPhoto(oldFile);
			System.out.println("复制完毕");
		} catch (Exception e) {
			
		}	
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值