当前位置: 首页 > 面试题库 >

在Java中将CLOB读取为String并将String读取为CLOB的最有效解决方案?

白星海
2023-03-14
问题内容

我有一个大的CLOB(大于32kB),我想使用StringBuilder读取为String。如何以最有效的方式做到这一点?我不能将“ int
length”构造函数用于StringBuilder,因为我的CLOB的长度比“ int”长,并且需要一个“ long”值。

我对Java I / O类不太满意,并希望获得一些指导。

编辑 - 我尝试使用clobToString()的以下代码:

private String clobToString(Clob data) {
    StringBuilder sb = new StringBuilder();
    try {
        Reader reader = data.getCharacterStream();
        BufferedReader br = new BufferedReader(reader);

        String line;
        while(null != (line = br.readLine())) {
            sb.append(line);
        }
        br.close();
    } catch (SQLException e) {
        // handle this exception
    } catch (IOException e) {
        // handle this exception
    }
    return sb.toString();
}

问题答案:

我不能使用“ int length”构造函数StringBuilder因为我的CLOB的长度大于a int且需要一个long值。

如果CLOB的长度大于int的长度,则CLOB数据也不适合String。您将必须使用流方法来处理大量XML数据。

如果CLOB的实际长度小于Integer.MAX_VALUE,则只需将longint放在(int)前面即可将其强制到。



 类似资料:
  • 问题内容: 如果有一个对象,应该如何处理该对象并产生一个String? 假设我有一个包含文本数据的文件,并且想将其转换为String,因此例如可以将其写入日志文件。 InputStream将并将其转换为的最简单方法是String什么? 问题答案: 做到这一点的一种好方法是使用将apache复制 甚至 另外,如果您不想混合和 ,则可以使用

  • 问题内容: 有很多方法可以将String转换为Integer对象。以下哪项是最有效的: 我的用例需要创建包装器Integer对象……这意味着没有原始的int……并且转换后的数据用于只读。 问题答案: 甚至不要浪费时间考虑它。只需选择一个看起来与其余代码相符的代码即可(其他转换是否使用.parse __()或.valueOf()方法?使用该方法来保持一致)。 试图确定哪个是“最佳”,这会使您的注意力

  • 问题内容: 如何从float转换为string或从string转换为float? 在我的情况下,我需要在2个值字符串(我从表中获得的值)和我计算出的浮点值之间进行断言。 我尝试从浮动到字符串: 但是断言失败 问题答案: 使用Java的类。 为了进行比较,将字符串转换为float并比较两个float总是更好。这是因为对于一个浮点数,存在多个字符串表示形式,与字符串相比,它们是不同的(例如“ 25”!

  • 问题内容: 是否有比以下方法更好的方法来将整个html文件读取为单个字符串变量: 问题答案: 有来自Apache Commons 的实用程序。 如果您使用的还有和。

  • 问题内容: 是否有任何实用程序可帮助将资源中的文本文件读取为字符串。我想这是一个很普遍的要求,但是在谷歌搜索之后我找不到任何实用程序。 问题答案: 是的,番石榴在课堂上提供了这一点。例如:

  • 我有一张甲骨文的桌子。在该表中,列之一是存储clob数据。在clob列中,必须插入对象作为clob。 但是他们在CLOB中添加了字符串。但是我想把我的对象添加到CLOB中。有可能吗? 提前感谢你的帮助。