java – 从和OutputStream获取BufferedImage
发布时间:2020-12-15 05:01:11 所属栏目:Java 来源:网络整理
导读:我有一个函数,int readFully(FileHandle handle,OutputStream out),它从SSH服务器读取整个文件并将其存储在本地流中.我可以使用FileOutputStream为第二个参数在本地编写文件,然后使用以下内容将该文件读入Buffered Image: bufferedImage = ImageIO.read(new
我有一个函数,int readFully(FileHandle handle,OutputStream out),它从SSH服务器读取整个文件并将其存储在本地流中.我可以使用FileOutputStream为第二个参数在本地编写文件,然后使用以下内容将该文件读入Buffered
Image:
bufferedImage = ImageIO.read(new File("/path/to/file")); 但是如何在不首先将其写入文件的情况下直接创建bufferedImage?我看了this question,但仍然无法弄清楚我的情况. 解决方法
只需写入ByteArrayOutputStream – 然后可以创建一个ByteArrayInputStream来读取相同的字节数组,然后将其传递给
ImageIO.read(InputStream) .
ByteArrayOutputStream output = new ByteArrayOutputStream(); readFully(handle,output); byte[] data = output.toByteArray(); ByteArrayInputStream input = new ByteArrayInputStream(data); BufferedImage image = ImageIO.read(input); 假设你不能直接从FileHandle创建一个InputStream,这会更简单. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |