附件下载的问题,请哪位大侠帮助下啊,急死人了啊,谢谢啊!!!

zflovelm 2008-07-03 10:57:22
ResultSet rs = st.executeQuery("select letter_bookx from r_staff_letter_info where id="+idstr);

try{
if (rs.next()) {
java.sql.Blob blob = rs.getBlob(1);
InputStream ins = blob.getBinaryStream();
// 用文件模拟输出流
File file = new File("d:\\output.txt");
OutputStream fout = new FileOutputStream(file);
// 下面将BLOB数据写入文件
byte[] b = new byte[1024];
int len = 0;
while ((len = ins.read(b)) != -1) {
fout.write(b, 0, len);
}
// 依次关闭
fout.close();
ins.close();
}
}catch(Exception e){
e.printStackTrace();
}finally{
conn.commit();
conn.close();
}

请问下这个WHILE循环为什么进不去执行呢?
while ((len = ins.read(b)) != -1) {
fout.write(b, 0, len);
}

麻烦了啊!!
...全文
56 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zflovelm 2008-07-03
  • 打赏
  • 举报
回复
各位帮帮忙啊,好几天了还没有解决啊!!!
zflovelm 2008-07-03
  • 打赏
  • 举报
回复
恩,是你说的那个情况,blob.getBinaryStream()没有取出数据来这是为什么呢,上传上去的时候都是有的啊,这个地方应该怎么改呢,麻烦给我讲解一下啊,谢谢啊!!!!
yingtju 2008-07-03
  • 打赏
  • 举报
回复
没进去就是len=-1
javadoc上说如果len=-1 "the end of the stream is reached."
就说明blob.getBinaryStream()没有取出数据来

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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