以下是使用Thumbnailator进行流式处理的示例代码:

import net.coobird.thumbnailator.Thumbnails;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class ThumbnailatorExample {

    public static void main(String[] args) throws IOException {
        File input = new File("input.jpg");
        File output = new File("output.jpg");

        try (InputStream inputStream = new FileInputStream(input);
             OutputStream outputStream = Thumbnails.of(inputStream)
                     .size(200, 200)
                     .outputQuality(0.8)
                     .asOutputStream()) {
            outputStream.writeTo(output);
        }
    }
}

在这个示例中,我们首先创建了一个输入文件和一个输出文件。然后,我们使用FileInputStream将输入文件读入内存中,并将其传递给Thumbnails.of()方法。这个方法返回一个Thumbnails.Builder对象,我们可以使用它来指定我们想要的缩略图的大小和质量。

我们调用asOutputStream()方法来获取一个输出流,然后将其写入输出文件中。在这个过程中,Thumbnailator会自动进行流式处理,避免将整张图片加载到内存中。

Thumbnailator支持流式处理图片可以避免将整张图片加载到内存中。您可以尝试使用流式处理来避免内存溢出问题如何处理调用示例

原文地址: http://www.cveoy.top/t/topic/bOyI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录