日期:2014-05-20 浏览次数:20672 次
package com.djk.design.Test;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import javax.imageio.ImageIO;
/**
* 客户端测试方法
* @author djk
*
*/
public class PictureClient
{
public static void main(String[] args) throws Exception
{
//指定要复制的图片的后缀名
List<String> list = new ArrayList<String>();
list.add("jpg");
ValidatePicture validatePicture = new DjkValidatePictrue(list);
HandlePictrue handlePictrue = new DjkHandlePicture(validatePicture);
//指定源文件夹和目标文件假
handlePictrue.copyPictrue("D:/test", "E:/picture/");
}
}
/**
* 校验图片接口包括
* 1:图片的尺寸为800*800
* 2:图片的大小小于300K
* 3:得到指定路径下的所有图片路径
* @author djk
*
*/
interface ValidatePicture
{
/**
* 检查图片的尺寸是否为800*800是返回true,不是返回false
* @param path
* @return
*/
boolean isSizeInRange(String path);
/**
* 检查图片是否小于300K小于则返回true大于等于则返回false
* @param path
* @return
*/
boolean isSizeOk(String path);
/**
* 得到这个文件下的所有的图片
* @param path
* @return
*/
List<String> getAllPiacturePath(String path);
}
/**
* 图片处理接口包括
* 1:
* 2:复制符合条件的图片
*
* @author djk
*
*/
interface HandlePictrue
{
/**
* 复制图片
*/
void copyPictrue(String source,String path) throws Exception;
}
/**
* 校验实现类
* @author djk
*
*/
class DjkValidatePictrue implements ValidatePicture
{
private static List<String> list = new ArrayList<String>();
/**
* 图片的后缀
*/
private List<String> pictureSuffix ;
public DjkValidatePictrue(List<String> pictureSuffix)
{
this.pictureSuffix = pictureSuffix;
}
@Override
public boolean isSizeInRange(String path)
{
int height=0;
int weight = 0;
try {
InputStream is = new FileInputStream(new File(path));