我想知道文件的长度,所以我尝试了 getContentLength()
。它在网络连接(edge/3g)下工作正常,但在 WiFi 下返回 -1?
为什么? WiFi 正常,找到文件,可以下载,但 getContentLength()
的返回值始终为“-1”。我不明白。 file
是一个 google 文档文件。
还有其他方法可以获取长度吗?
我的代码是:
URL url = new URL(file);
URLConnection conexion = url.openConnection();
conexion.connect();
int poids = conexion.getContentLength();
最佳答案
很可能是移动网络为您改变了一切。例如,我使用的移动网络会自动(而且很烦人)缩小图像下载量。如果网络在给你任何数据之前“透明地”执行完整下载,它可以为你填充内容长度。
但是,您基本上不应该依赖于内容长度...没有任何东西可以保证它对您可用。
关于java - getContentLength() 仅在 WiFi 中返回 -1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3418106/