【问题标题】:ByteBuffer to String conversion in iReportiReport 中的 ByteBuffer 到 String 的转换
【发布时间】:2014-05-29 07:02:08
【问题描述】:

我们正在尝试在 ireport 中使用 Cassandra 插件。插件等已正确嵌入到 iReport 中。编写的 CQL 仅获取 3 列,列名也出现在 Read Fields 中。

问题是:返回的字段是 ByteBuffer 而 iReport 不会接受 ByteBuffer 作为字段的数据类型。

尝试将 ByteBuffer 转换为 Byte 数组,然后使用新的字符串对象将其转换为字符串。 字符串 s=新字符串(字节数组);但是新的字符串对象并没有在 iReport 中创建。我只能看到一些机器字符。

在输出 I c、MachineCharacters 和语句“执行 CQL 语句”和机器字符中。可能是什么问题。

此案例中没有关于 iReport/Jasper 论坛等的文档。谁能推荐一下。

【问题讨论】:

    标签: java jasper-reports cassandra bytearray ireport


    【解决方案1】:

    您似乎正在尝试将二进制数据作为文本读取,这就是您看到机器字符的原因。而不是假设您正在接收文本,您必须找出您实际接收的数据并对其进行解码。

    因此这与 iReport 无关,问题是您不知道您收到的是哪种数据

    【讨论】:

    • 我正在接收字符串数据。但是数据是以 ByteBuffer 的格式出现的。所以我必须将 ByteBuffer 转换为 String。我正在使用 JDK 7 并且有/没有 StandardCharset 我得到相同的输出。机器特性。在字符之间,我看到它写了,执行CQL语句..
    • @AngelsandDemons ByteBuffer 只是一个缓冲区。它没有格式。如果您有一些文本存储在 ByteBuffer 中,它将显示为文本。您有机器字符的事实告诉您,您收到的不是纯文本,或者您收到的不是英语的文本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-18
    相关资源
    最近更新 更多