来自URLConnection的InputStream的不完整数据

时间:2012-10-19 17:34:25

标签: java inputstream

这是我用来显示问题的简单测试代码:

URL u = new URL(someURLString);
URLConnection c = u.openConnection();
InputStream is = c.getInputStream();

int amount = c.getContentLength(); //gives 75830, which is correct

int r = 0;
while (is.read() != -1) //count input
    r++;

//r is 65878, what the hell?

显然缺少数据。任何人都可以解释这种行为吗?

提前谢谢

2 个答案:

答案 0 :(得分:2)

问题现在是6个月了,所以我不知道你是否在此期间解决了你的问题。但...

我在Android应用程序上运行HttpUrlConnection时遇到了同样的问题。 logcat 上的内容不完整!我将内容写入我的设备上的文件中,它向我展示了整个内容。 也许这似乎是logcat的问题,但它花了我几个小时!

答案 1 :(得分:-1)

c.getContentLength(); - 返回content-length头字段的值。 只需检查您收到的内容是否正确