我有一個很大的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