JAVA处理Clob大对象
BLOB就是使用二进制保存数据。 如:保存位图。 CLOB使用CHAR来保存数据。 如:保存XML文档。
1、创建Clob对象
下面的代码段说明了如何创建一个Clob对象,其中rs是一个ResultSet对象:
Clob clob = rs.getClob(1);
变量clob现在可以被用于在CLOB值上执行操作,而假设这CLOB值保存在结果集rs的第一列中。
或
FileInputStream fis1 = new FileInputStream("D:/test.txt");
pstmt.setBinaryStream(1, fis1, fis1.available());
2、物化Clob数据
和物化Blob的方式一样。不过Clob接口提供了三种方法达到将CLOB作
为一个Java对象的形式保存在客户的内存中。
①使用getAsiiStream把CLOB值物化为一个包含Ascii字节的字符流。
Clob notes = rs.getClob(“NOTES”);
java.io.InputStream in = notes.getAsciiStream();
byte b = in.read();
② 使用getCharacterStream把CLOB值物化为一个Unicode字符流。
Clob notes = rs.getClob(“NOTES”);
java.io.Reader reader = notes.getCharacterStream();
int c = reader.read();
③ 使用getSubString将CLOB值的全部或者部分化为一个String对象。
Clob notes = rs.getClob(4);
String substring= notes.getSubString(10,5);
或者
long len =notes.length();
String substring = notes.getSubString(1,(int)len);
3、存储、更新Clob对象和存储、更新Blob对象类似。(具体见再上次的博客)