socket 显示图片问题

kkobebryant 2011-03-04 09:42:08
BufferedInputStream bis = new BufferedInputStream(socket.getInputStream());
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
int ch;
while ((ch = bis.read()) != -1) {
baos.write(ch);
}
image = Toolkit.getDefaultToolkit().createImage(baos.toByteArray());
} catch (Exception exception) {
System.err.println("Error loading: " );
}

ImageIcon pic1 = new ImageIcon(image) ;
this.jLabel1.setIcon(pic1);

这段代码有问题吗 ? 怎么总是显示不到图片 ,socket返回一个验证码的图片
...全文
84 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
老紫竹 2011-03-05
  • 打赏
  • 举报
回复
while ((ch = bis.read()) != -1) {

这个是错误的用法。
rainsilence 2011-03-05
  • 打赏
  • 举报
回复
问题如下:
1.流没有关闭
2.bis.read()要用byte数组去读,返回值只是判断有没有到末尾
3.baos.write一个int完全没有意义,此处应该传入step2的byte数组

81,091

社区成员

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

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