首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2ME开发 >

[乞援]http的is.read()最后读不到-1,是为什么

2011-11-28 
[求助]http的is.read()最后读不到-1,是为什么?is httpConn.openInputStream()ByteArrayOutputStream bo

[求助]http的is.read()最后读不到-1,是为什么?
is = httpConn.openInputStream();

ByteArrayOutputStream bos = new ByteArrayOutputStream();

while (flag && (ch = is.read()) != -1)

{
  bos.write(ch);
}

我限制模拟器的吞吐量为56000

然后在模拟器上读返回的时候

同一个请求

大概有10%的概率,在数据读完的时候最后读不到-1

导致程序堵死在is.read()

非常郁闷

哪位大牛知道怎么解决

谢谢


[解决办法]
能catch住什么异常吗? 比如EOFException
[解决办法]
帮顶
[解决办法]
帮顶
[解决办法]
把你确定他读完的情况后,ch里面的数据打印一下看看
[解决办法]
关注 是否是链路堵塞
[解决办法]
is = httpConn.openInputStream();

ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] data=new byte[512];
int length=0;
do{
length=is.read(data);
 bos.write(data);

}while{length>=0};


[解决办法]
呵呵是啊,没遇到过,你可以上真机试试,也许真机完全没事,就不用浪费时间研究这个了,呵呵。

热点排行