源码共享:Lob类型处理

zyhowe 2009-05-17 06:30:42
来源: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) {
}
}



}
...全文
66 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
witlili 2009-05-18
  • 打赏
  • 举报
回复
顶一下!!
gousheng12345 2009-05-18
  • 打赏
  • 举报
回复
顶起来,谢谢
sling2007 2009-05-18
  • 打赏
  • 举报
回复
学习
sunwei_120 2009-05-18
  • 打赏
  • 举报
回复
好东西,顶!
zhzhzhhh 2009-05-18
  • 打赏
  • 举报
回复
顶起来,学习!
FAT0708 2009-05-18
  • 打赏
  • 举报
回复
不错

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧