| | |
| | | import java.time.LocalDateTime; |
| | | import java.util.List; |
| | | import java.util.concurrent.atomic.AtomicBoolean; |
| | | import java.util.zip.Deflater; |
| | | import java.util.zip.ZipOutputStream; |
| | | |
| | | /** |
| | |
| | | int written = 0; |
| | | int pageNo = 1; |
| | | try (OutputStream fileOut = new FileOutputStream(target); |
| | | ZipOutputStream zip = new ZipOutputStream(new BufferedOutputStream(fileOut))) { |
| | | ZipOutputStream zip = new ZipOutputStream(new BufferedOutputStream(fileOut, 256 * 1024))) { |
| | | // 每张 PNG 已压缩,再做 ZIP deflate 会重复消耗 CPU;保留 ZIP 容器和逐张文件结构。 |
| | | zip.setLevel(Deflater.NO_COMPRESSION); |
| | | while (true) { |
| | | List<QrLabelInfo> page = source.fetchPage(pageNo, PAGE_SIZE); |
| | | if (page.isEmpty()) { |