来源:
www.zyhowe.com
import java.io.InputStream;
import java.io.OutputStream;
import java.io.Writer;
import javax.servlet.http.HttpServletResponse;
public class LobUtil {
/**
* 写入数据库clob
* @param clob
* @param str
*/
public static void write(java.sql.Clob clob, String str) {
try {
Writer writer = ((oracle.sql.CLOB) clob).getCharacterOutputStream();
char[] buffer = str.toCharArray();
writer.write(buffer, 0, buffer.length);
/*
OutputStream writer = ((oracle.sql.CLOB) clob).getAsciiOutputStream();
byte[] buffer = str.getBytes();
writer.write(buffer);
*/
writer.close();
//System.out.println("save ok"+str);
} catch (Exception e) {
System.out.println(e.toString());
}
}
/**
* 写入字符到数据库blob
* @param blob
* @param str
*/
public static void write(java.sql.Blob blob, String str) {
try {
OutputStream writer = ((oracle.sql.BLOB) blob).getBinaryOutputStream();
byte[] buffer = str.getBytes();
writer.write(buffer, 0, buffer.length);
writer.close();
} catch (Exception e) {
}
}
/**
* 上传文件到数据库blob
* @param blob
* @param inStream
*/
public static void write(java.sql.Blob blob, InputStream reader) {
try {
OutputStream writer = ((oracle.sql.BLOB) blob).getBinaryOutputStream();
byte[] buffer = new byte[1024];
int nbytes=0;
while ( (nbytes = reader.read(buffer)) != -1)
writer.write(buffer, 0, nbytes);
writer.close();
} catch (Exception e) {
}
}
/**
* 读出数据库blob,此出blob是文件,如果是字符,调用StringUtil.parse(blob);
* 在调用之前,加上response.setContentType(type),即可按照格式输出
* @param blob
* @param response
*/
public static void read(java.sql.Blob blob,HttpServletResponse response) {
try {
InputStream reader = blob.getBinaryStream();
OutputStream writer=response.getOutputStream();
byte[] buffer = new byte[1024];
int nbytes = 0;
while ((nbytes = reader.read(buffer)) != -1)
writer.write(buffer, 0, nbytes);
writer.close();
reader.close();
} catch (Exception e) {
}
}
}