1

我正在尝试将字符串转换为 JMS BytesMessage。有没有好的方法来做到这一点?

我需要这样做,因为我有一个方法可以接收已解密的字符串,并且我需要将其转换为 BytesMessage 以解密消息。

谢谢

4

3 回答 3

2
 byte[] bArray = "foo".getBytes("UTF-8");
 BytesMessage msg = session.createBytesMessage(); // throws JMSException
 msg.writeBytes(bArray);

当然,就像Arcadien说的,你需要在合适的环境中执行代码才能从中获取javax.jms.Session对象。

于 2012-06-27T15:46:47.657 回答
2

有点晚了,但迟到总比没有好。

getBytes @Carlo 的答案基本上是正确的,但如果与String参数一起使用,则必须捕获异常。

这是一个不会抛出异常的变体(getBytes 调用):

final byte[] byteArray = "blammy".getBytes(StandardCharsets.UTF_8);
final BytesMessage bytesMessage = session.createBytesMessage();

bytesMessage.writeBytes(byteArray);

该类StandardCharsets定义了保证在 Java 平台的每个实现上都可用的字符集。

于 2018-11-28T22:22:08.163 回答
0

您可以使用

byte[] String#getBytes()

从字符串中获取字节数组并将其写入 ByteMessage

于 2012-06-27T15:20:17.190 回答