public void test1() throws IOException {
File file1 = new File("D:\\备份-工作\\Other\\Project\\comment\\image_compress");
File[] files2 = file1.listFiles();
for (int i = 0; i < files2.length; i++) {
File file = files2[i];
int fileSize = (int) file.length() / 1024 / 1024;
Picture picture = new Picture();
String rootDir = URLDecoder.decode(System.getProperty("user.dir"), "utf-8");
String newfilename = file.getName();
String tempDir = rootDir + "/image_compress/";
String tempPath = tempDir + newfilename;
if (!FileUtil.file(tempDir).exists()) {
FileUtil.file(tempDir).mkdirs();
}
BufferedImage bufferedImage = ImageIO.read(file);
picture.setPic_height(bufferedImage.getHeight());
picture.setPic_width(bufferedImage.getWidth());
bufferedImage = null;
String compressDir = rootDir + "/image_compress2/";
String compressPath = compressDir + newfilename;
if (!FileUtil.file(compressDir).exists()) {
FileUtil.file(compressDir).mkdirs();
}
int maxPicWidth = 1242;
int maxPicHeight = 1546;
if ((maxPicWidth > 0) && (picture.getPic_width() > maxPicWidth)) {
int picWidth = maxPicWidth;
int picHeight = Integer.parseInt(maxPicWidth * picture.getPic_height() / picture.getPic_width() + "");
ImgUtil.scale(file, FileUtil.file(compressPath), picWidth, picHeight, java.awt.Color.WHITE);
} else if ((maxPicHeight > 0) && (picture.getPic_height() > maxPicHeight)) {
int picWidth = Integer.parseInt(maxPicHeight * picture.getPic_width() / picture.getPic_height() + "");
int picHeight = maxPicHeight;
ImgUtil.scale(file, FileUtil.file(compressPath), picWidth, picHeight, java.awt.Color.WHITE);
} else {
if (fileSize >= 1) {
ImgUtil.compress(file, FileUtil.file(compressPath), 0.9F);
} else {
FileUtil.copyFile(tempPath, compressPath);
}
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)