统计一个目录下的图片信息

Map sizeMap = new HashMap();
String file1 = file.getName();
List oneToOneRatio = new ArrayList();
List threeToFourRatio = new ArrayList();
String fileName = file.getName();
// 判断文件是否存在
if (file.exists()) {
// 如果是目录则递归计算
if (!file.isFile()) {
File[] fl = file.listFiles();
for (File f : fl) {
getImg(f);
}
} else if (fileName.indexOf("desk") != -1) {
double ratio = 0.0;
BufferedImage Bi = null;
try {
Bi = ImageIO.read(file);
} catch (IOException e) {
e.printStackTrace();
}
ratio = (new Integer(Bi.getHeight())).doubleValue() / Bi.getWidth();
if (ratio == 0.75) {
System.out.println("ratio>>>" + ratio + "**" + file);
threeToFourRatio.add(file);
}
if (ratio == 1.0) {
System.out.println("ratio>>>" + ratio + "**" + file);
oneToOneRatio.add(file);
}

}
} else {
throw new Exception("文件或文件目录不存在!");
}
sizeMap.put("oneToOneRatio", oneToOneRatio);
sizeMap.put("oneToOneRatio", threeToFourRatio);
}

public static void main(String[] args) throws Exception {
ImageTest fd = new ImageTest();
fd.getImg(new File("E:\\Image\\desk"));
  }

你可能感兴趣的:(图片)