gpt4 book ai didi

java - 将流转换为字符串 block ,反之亦然

转载 作者:行者123 更新时间:2023-12-01 15:56:00 25 4
gpt4 key购买 nike

我开发了一个 java/scala XMPP 客户端应用程序,它使用(例如)write 异步发送数据。方法并使用 listener 接收数据方法。 listener方法接收作为离散 XMPP 消息包的数据,并使用 processPacket 处理它们。方法(我可以根据我想对收到的数据执行的操作进行修改)

我想连接一个从inputstream读取数据的第三方库。并写入outputstream 。具体来说,我想要 inputstream使用通过我的listener接收的数据来模拟的第3方库方法和 outputstream由我的 write 模仿方法。

最简单的方法是什么?我知道这需要从流转换为字符串 block ,反之亦然。一些提示将不胜感激。

XMPP消息包结构如下(尽管可以根据需要更改):

<message to = ... from = ...><body>data</body></message>

最佳答案

使用ByteArrayInputStream为给定的字符串创建输入流。您必须考虑编码,因为您发送的是字节而不是字符。

String text = message.getBody();  // that's what you need?
InputStream is = new ByteArrayInputStream(text.getBytes("UTF-8"));

相反,您可以写入 ByteArrayOutputStream 并从其字节创建一个新字符串:

String text = new String( baos.toByteArray(), "UTF-8" );

再次强调 - 不要忘记考虑字符编码。

关于java - 将流转换为字符串 block ,反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5041112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com