fix: 测试更适合的获取宽高方式

master
wyb 5 months ago
parent d7743ec1ef
commit b0392a55ec

@ -15,6 +15,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
import javax.imageio.ImageReader;
import javax.imageio.stream.ImageInputStream;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
@ -22,6 +24,7 @@ import java.text.SimpleDateFormat;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.Iterator;
import java.util.List; import java.util.List;
/** /**
@ -106,8 +109,44 @@ public class LianzhongCollectCheckServiceImpl implements LianzhongCollectCheckSe
} }
} }
private boolean hasDamage2(List<ScanAssort> scanAssortList) {
for (ScanAssort assort : scanAssortList) {
String filePath = assort.getImagePath() + File.separator + assort.getScanPage();
File file = new File(filePath);
if (!isOpenImage2(file)) {
return true;
}
}
return false;
}
private boolean isOpenImage2(File file) {
try( ImageInputStream imageInputStream = ImageIO.createImageInputStream(file);) {
Iterator<ImageReader> imageReaders = ImageIO.getImageReaders(imageInputStream);
if (!imageReaders.hasNext()) {
return false;
}
ImageReader imageReader = imageReaders.next();
imageReader.setInput(imageInputStream);
return imageReader.getHeight(0) > 0 && imageReader.getWidth(0) > 0;
} catch (Exception ex) {
return false;
}
}
public static void main(String[] args) { public static void main(String[] args) {
Iterator<ImageReader> tiffReaders = ImageIO.getImageReadersByFormatName("TIFF");
if (!tiffReaders.hasNext()) {
System.out.println("tiff 插件加载失败!");
}
Iterator<ImageReader> tiffReaders2 = ImageIO.getImageReadersByFormatName("jpeg");
if (!tiffReaders2.hasNext()) {
System.out.println("jpeg 插件加载失败!");
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd 00:00:00"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
System.out.println(sdf.format(new Date())); System.out.println(sdf.format(new Date()));
ScanAssort scanAssort = new ScanAssort(); ScanAssort scanAssort = new ScanAssort();
@ -117,9 +156,9 @@ public class LianzhongCollectCheckServiceImpl implements LianzhongCollectCheckSe
long start = System.currentTimeMillis(); long start = System.currentTimeMillis();
LianzhongCollectCheckServiceImpl checkService = new LianzhongCollectCheckServiceImpl(); LianzhongCollectCheckServiceImpl checkService = new LianzhongCollectCheckServiceImpl();
for (int i = 0; i < 1000; i++) { for (int i = 0; i < 1000; i++) {
boolean b = checkService.hasDamage(scanAssortList); boolean b = checkService.hasDamage2(scanAssortList);
if (i == 99) { if (i == 99) {
System.out.println(checkService.hasDamage(scanAssortList)); System.out.println(checkService.hasDamage2(scanAssortList));
} }
} }
long total = System.currentTimeMillis() - start; long total = System.currentTimeMillis() - start;

Loading…
Cancel
Save