【发布时间】:2012-03-22 00:42:21
【问题描述】:
我想将表示图像文件的 InputStream 对象转换为 BufferedImage 对象,并在对 BufferedImage 执行一些操作后将其转换回 InputStream 以便可以将其写入磁盘。我不想在上创建文件对象磁盘优先,以防止额外的 IO 开销。
我认为我可以执行以下操作将 BufferedImage 转换为 InputStream
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
ImageIO.write(image,fileExtension, outputStream);
InputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
对吗?另外,我有以下两个问题
- 如何从 InputStream 对象中获取 BufferedImage 对象
- 我可以直接从 InputStream 对象获取文件大小吗?
一些例子真的很有帮助
谢谢
【问题讨论】:
-
"将其转回InputStream,以便可以写入磁盘"为什么要将其转换为InputStream,如果要写入磁盘?