解决排序报错问题

master
zhanghai 2 years ago
parent 0e7555a932
commit 46020ff26e

@ -16,6 +16,7 @@ import javax.imageio.ImageIO;
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;
import java.math.BigInteger;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.StandardCopyOption; import java.nio.file.StandardCopyOption;
import java.util.*; import java.util.*;
@ -193,16 +194,16 @@ public class CheckService {
@Override @Override
public int compare(CheckPageRow file1, CheckPageRow file2) { public int compare(CheckPageRow file1, CheckPageRow file2) {
// 使用正则表达式提取数字部分 // 使用正则表达式提取数字部分
long num1 = extractNumber(file1.getPhNum()); BigInteger num1 = extractNumber(file1.getPhNum());
long num2 = extractNumber(file2.getPhNum()); BigInteger num2 = extractNumber(file2.getPhNum());
// 比较提取的数字部分 // 比较提取的数字部分
return Long.compare(num1, num2); return num1.compareTo( num2);
} }
private long extractNumber(String fileName) { private BigInteger extractNumber(String fileName) {
String numberPart = fileName.replaceAll("[^0-9]", ""); String numberPart = fileName.replaceAll("[^0-9]", "");
return numberPart.isEmpty() ? 0 : Long.parseLong(numberPart); return numberPart.isEmpty() ? new BigInteger("0") :new BigInteger(numberPart);
} }
}; };
Collections.sort(checkPageRows,fileComparator); Collections.sort(checkPageRows,fileComparator);

@ -35,7 +35,7 @@ public class JpmTest {
Date date = directory.getDate(ExifSubIFDDirectory.TAG_DATETIME_ORIGINAL); Date date = directory.getDate(ExifSubIFDDirectory.TAG_DATETIME_ORIGINAL);
} }
public static void main(String[] args) throws ImageProcessingException, IOException, ImageReadException { public static void main(String[] args) throws ImageProcessingException, IOException, ImageReadException {
File file = new File("C:\\Users\\zhanghai\\Downloads\\微信图片_20231203095721.jpg"); File file = new File("C:\\Users\\zhanghai\\Documents\\WeChat Files\\wxid_wexo4ubjorso22\\FileStorage\\File\\2024-01\\2285.tif");
ImageInfo imageInfo = Imaging.getImageInfo(file); ImageInfo imageInfo = Imaging.getImageInfo(file);
int height = imageInfo.getHeight(); int height = imageInfo.getHeight();
int width = imageInfo.getWidth(); int width = imageInfo.getWidth();

Loading…
Cancel
Save