在其中一个API中,使用Apache IOUtils,使用以下步骤将S3Object转换为字符串:
S3ObjectInputStream inputStream = s3Object.getObjectContent();
String streamString = IOUtils.toString(inputStream);
在另一个API中,当我必须将字符串转换回S3ObjectInputStream时,我尝试了以下步骤,但似乎不起作用:
方法1:
String streamString = IOUtils.toString(inputStream); // --> from the 1st API
S3ObjectInputStream s3ObjectInputStream = new S3ObjectInputStream
(new ByteArrayInputStream(streamString.getBytes()), null); --> Returning an incorrect/null inputstream
方法2:
String streamString = IOUtils.toString(inputStream); // --> from the 1st API
InputStream sampleStream = IOUtils.toInputStream(streamString, StandardCharsets.UTF_8);
有没有其他方法可以在不丢失数据的情况下正确转换它?
我试过了,效果很好。您的问题可能存在于其他地方(可能是您的输入流)。
这是工作代码(包括您的代码)。
@Test
public void testS3ObjectInputStream() throws IOException {
String originalString = "Hello World";
InputStream inputStream =
new ByteArrayInputStream(originalString.getBytes(StandardCharsets.UTF_8));
// your code
String streamString = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
S3ObjectInputStream s3ObjectInputStream =
new S3ObjectInputStream(
new ByteArrayInputStream(streamString.getBytes(StandardCharsets.UTF_8)), null);
assertNotNull(s3ObjectInputStream); //PASSES!
String recoveredString = IOUtils.toString(s3ObjectInputStream, StandardCharsets.UTF_8);
assertEquals(originalString, recoveredString); //PASSES!
}
问题内容: 我正在使用A 将Json从Web转换为字符串。 这可能很简单,但是我似乎无法将此字符串转换为。 我怎样才能做到这一点? 问题答案: 请参阅文档和示例。
问题内容: 如何在Java中将org.jdom.Document转换为字符串? 问题答案:
问题内容: 如何将Java转换为? 问题答案: 通过调用其方法。 返回一个包含此序列中字符的字符串,该字符串的顺序与此序列相同。字符串的长度将是此序列的长度。
问题内容: 还有其他方法可以将writer转换为字符串吗? 问题答案: 如果我想用它来制作一个String,我会聘请专门的作家。
我有一个实体 我想根据货币计算每个部门的金额,并将结果写在行中。例子: 结果:“莫斯科200美元,巴黎100美元,莫斯科200卢布” 对于it: 我收到一个结果: 但我不知道如何转换地图
问题内容: 我需要将a转换为an ,但我不知道如何 基本上我想变成一个。 问题答案: 您可以执行以下操作: