我正在尝试将字符串转换为 JMS BytesMessage。有没有好的方法来做到这一点?
我需要这样做,因为我有一个方法可以接收已解密的字符串,并且我需要将其转换为 BytesMessage 以解密消息。
谢谢
我正在尝试将字符串转换为 JMS BytesMessage。有没有好的方法来做到这一点?
我需要这样做,因为我有一个方法可以接收已解密的字符串,并且我需要将其转换为 BytesMessage 以解密消息。
谢谢
byte[] bArray = "foo".getBytes("UTF-8");
BytesMessage msg = session.createBytesMessage(); // throws JMSException
msg.writeBytes(bArray);
当然,就像Arcadien说的,你需要在合适的环境中执行代码才能从中获取javax.jms.Session对象。
有点晚了,但迟到总比没有好。
getBytes
@Carlo 的答案基本上是正确的,但如果与String
参数一起使用,则必须捕获异常。
这是一个不会抛出异常的变体(getBytes 调用):
final byte[] byteArray = "blammy".getBytes(StandardCharsets.UTF_8);
final BytesMessage bytesMessage = session.createBytesMessage();
bytesMessage.writeBytes(byteArray);
该类StandardCharsets
定义了保证在 Java 平台的每个实现上都可用的字符集。
您可以使用
byte[] String#getBytes()
从字符串中获取字节数组并将其写入 ByteMessage