我有一个很大的CLOB(超过32kB),我想使用StringBuilder读取字符串。我如何以最有效的方式做到这一点?我无法使用StringBuilder的“int length”构造函数,因为CLOB的长度比“int”长,需要一个“long”值。用于将CLOB读入String的最有效解决方案,以及Java中用于CLOB的字符串的最有效解决方案?
我不喜欢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();
}
你想一旦你读CLOB为一个字符串到底该怎么做? – 2010-01-30 22:38:34
你是指数据库意义上的CLOB,还是只是“大字符串”? – skaffman 2010-01-30 22:41:45
是的,它是来自DB2数据库的CLOB。 – Jonas 2010-01-30 22:42:49