JAVA InputStream.toString() 回到 InputStream

JAVA InputStream.toString() back to InputStream

我正在玩一个名为 Sunflow 的旧 JAVA 渲染器。 在它的某些 类 中,其中一种方法将图像 InputStream 保存为字符串 (InputStream.toString())。 现在我想知道:有没有办法将保存的 InputStream.toString() 值转换回 InputStream

你可以这样做:

InputStream stream = new ByteArrayInputStream(mystr.getBytes(StandardCharsets.UTF_8));

假设字符串是 UTF-8 编码的。

不,InputStream 不会覆盖 toString(),它使用 Object 的现有基础实现,即 returns:

getClass().getName() + "@" + Integer.toHexString(hashCode())

这个方法调用的结果是这样的:InputStream@<hex_hash_code>,你不能从这个 String.

中恢复原来的 InputStream