现在做的一个处理需要实现以下功能
查找功能
按下查找按钮,会把查找的结果生成一个csv文件,然后把这个文件压缩,存到oracle的blob的字段中。
csv-->zip--->bolb ,这个过程不能在本地生成文件,直接用把csv文件压缩zip文件,然后更新blob字段。
这个已经ok.下边的功能还不行,望大虾们指点一下。
从blob字段中取出上一步存入的zip文件,解压,生成csv文件,然后返回OutputStream形式。这个过程不允许在本地或服务器上生成文件。
难死小弟了,望大哥们指教!!
------解决方案--------------------
帮顶
------解决方案--------------------
没用过,太高深了,期待
------解决方案--------------------
没做过
学习一下
------解决方案--------------------
- Java code
ZipInputStream in = new ZipInputStream(queryRs.getBlob("file_blob").getBinaryStream());
------解决方案--------------------
- Java code
OutputStream output = null;InputStream is = null;//从数据库结果集中获取blob字段内容is = queryRs.getBlob("file_blob").getBinaryStream();//创建zip输入流ZipInputStream zis=new ZipInputStream(is);//获取zip输入流中第一个文件流zis.getNextEntry();byte[] b = new byte[1024];int i = 0;while ((i = zis.read(b)) > 0) { output.write(b, 0, i);}return output;//返回输出流即可
------解决方案--------------------
那你总要知道返回给什么样的输出流吧?socket? response?
这些都可以获得OutputStream的,用这些OutputStream替换你临时文件就可以了