CLOB保存到本地文件时,内存溢出

Dong丶Xm 2014-08-08 10:16:21
...全文
206 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
致知Fighting 2014-08-08
  • 打赏
  • 举报
回复
String pic = clob.getSubString((long)1, (int) clob.length()); 你这不就是把数据塞内存了么,不要这样处理,用流读出来,读一部分处理一部分
Dong丶Xm 2014-08-08
  • 打赏
  • 举报
回复
引用 1 楼 ygycomon 的回复:
你是把所有的数据都丢进内存了吧 用流操作,不要塞内存
byte[] binary = (new sun.misc.BASE64Decoder()).decodeBuffer(pic.replaceAll(" ", "")); 我说这行有问题
Dong丶Xm 2014-08-08
  • 打赏
  • 举报
回复
引用 1 楼 ygycomon 的回复:
你是把所有的数据都丢进内存了吧 用流操作,不要塞内存
String pic = clob.getSubString((long)1, (int) clob.length()); String filename = path+"/"+title+".doc"; System.out.println(filename); byte[] binary = (new sun.misc.BASE64Decoder()).decodeBuffer(pic.replaceAll(" ", "")); request.setAttribute("fss", filename); FileOutputStream fos = null; fos = new FileOutputStream(filename); fos.write(binary, 0, binary.length);
Dong丶Xm 2014-08-08
  • 打赏
  • 举报
回复
String pic = clob.getSubString((long)1, (int) clob.length()); String filename = path+"/"+title+".doc"; System.out.println(filename); byte[] binary = (new sun.misc.BASE64Decoder()).decodeBuffer(pic.replaceAll(" ", "")); request.setAttribute("fss", filename); FileOutputStream fos = null; fos = new FileOutputStream(filename); fos.write(binary, 0, binary.length);
致知Fighting 2014-08-08
  • 打赏
  • 举报
回复
你是把所有的数据都丢进内存了吧 用流操作,不要塞内存
姜小白- 2014-08-08
  • 打赏
  • 举报
回复
java 读取blob http://blog.csdn.net/magi1201/article/details/38274187
致知Fighting 2014-08-08
  • 打赏
  • 举报
回复
引用 6 楼 xmd415606062 的回复:
[quote=引用 5 楼 ygycomon 的回复:] String pic = clob.getSubString((long)1, (int) clob.length()); 你这不就是把数据塞内存了么,不要这样处理,用流读出来,读一部分处理一部分
大神,请指教,怎么写[/quote] 拿出clob,打开一个流,读一点写一点,直到写完。 不要问我怎么拿clob,不要问我怎么打开流,不要问我怎么写流,思路都告诉你了,不要再伸手了
Dong丶Xm 2014-08-08
  • 打赏
  • 举报
回复
引用 5 楼 ygycomon 的回复:
String pic = clob.getSubString((long)1, (int) clob.length()); 你这不就是把数据塞内存了么,不要这样处理,用流读出来,读一部分处理一部分
大神,请指教,怎么写

81,092

社区成员

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

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