JAVA InputStream.toString()返回InputStream
我正在使用一个名为Sunflow的旧JAVA渲染器。 在某些类中,有一种方法将imageJAVA InputStream.toString()返回InputStream,java,inputstream,tostring,Java,Inputstream,Tostring,我正在使用一个名为Sunflow的旧JAVA渲染器。 在某些类中,有一种方法将imageInputStream保存为字符串(InputStream.toString())。 现在我想知道:有没有办法将保存的InputStream.toString()值转换回InputStream?您可以这样做: InputStream stream = new ByteArrayInputStream(mystr.getBytes(StandardCharsets.UTF_8)); 假设字符串是UTF-8编码
InputStream
保存为字符串(InputStream.toString()
)。
现在我想知道:有没有办法将保存的InputStream.toString()
值转换回InputStream
?您可以这样做:
InputStream stream = new ByteArrayInputStream(mystr.getBytes(StandardCharsets.UTF_8));
假设字符串是UTF-8编码的。您可以执行以下操作:
InputStream stream = new ByteArrayInputStream(mystr.getBytes(StandardCharsets.UTF_8));
假设字符串是UTF-8编码的。否,
InputStream
不重写toString()
,它使用对象中现有的基本实现,返回:
getClass().getName() + "@" + Integer.toHexString(hashCode())
此方法调用的结果类似于:InputStream@
,您无法从该字符串恢复原始InputStream
否,InputStream
不重写toString()
,它使用对象的现有基本实现,返回:
getClass().getName() + "@" + Integer.toHexString(hashCode())
此方法调用的结果类似于:InputStream@
,您无法从该字符串
InputStream targetStream=IOUtils.toInputStream(initialString)恢复原始的InputStream
;您还可以检查以下链接,InputStream.toString()
不会将输入流的内容转换为字符串,因此无法从这样的字符串中重建内容。InputStream targetStream=IOUtils.toInputStream(initialString);您还可以检查以下链接,InputStream.toString()
不会将输入流的内容转换为字符串,因此,不可能从这样的字符串中重新构建内容。不幸的是,你是对的:在再次查看了Sunflow的相关代码后,我创建/添加了自己的简单新方法,该方法实际上将原始InputStream保存为BuffereImage,以后可以直接重复使用。谢谢你向我澄清这件事!不幸的是,你是对的:在再一次回顾了Sunflow的代码之后,我最终创建/添加了我自己的简单新方法,该方法实际上将原始InputStream保存为BuffereImage,以后可以直接重用。谢谢你向我澄清这件事!