HttpURLConnection 中 方法getContentLength() 取得网上文件大小时返回-1

getContentLength()方法取得文件大小时有时候返回-1有的时候返回时正常的~请问返回-1怎么解决是什么造成的~?谢谢各位~

    出现这种情况是小文件的大小是在头里的长度字段有值,所以能获取到大文件的时候,长度字段没有了,而是使用了trunk的方式传输,这样就没办法直接获取到了,需要根据trunk信息进行统计。

    大于2G估计服务器压缩传输了,设置conn .setRequestProperty("Accept-Encoding", "identity")。

    调用了FileSystem这是java没有公开的一个类,JavaDoc API没有。其中fileSystem 是一个IFileSystem对象,IFileSySTEM是java没有公开的一个类,JavaDoc API中没有;

    fd是一个FileDescriptor对象,即文件描述符。说明这句代码是通过文件描述符获取文件的总大小,而并不是事先将磁盘上的文件数据全部读入流中,再获取文件总大小。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-05
不是有效的http就是说你的url可能是错误的
第2个回答  2013-04-05
哇嚓,小沫都可以到处帮别人回答问题了,厉害厉害~

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网