我試圖使用獲得的URL的內容的大小:安卓:URLConnection.getContentLength()給出不正確的值
URLConnection conn = null;
URL url = null;
url = new URL("https://dl.dropboxusercontent.com/u/90210205/Default.html");
conn = url.openConnection();
conn.connect();
InputStream in = new BufferedInputStream(url.openStream());
int fileSize = conn.getContentLength();
System.out.println("File size " + fileSize);
while (in.read() != -1) {
i++;
}
in.close();
System.out.println("Read " + i + " bytes of a possible " + fileSize);
我用這一個AsyncTask
和一些doInBackground()
內原因conn.getContentLength();
正在返回1273
當它應該返回10136
。
我在常規Java應用程序的Main內使用了上述代碼,並且conn.getContentLength();
返回正確的10136值。
爲什麼它不在AsyncTask
中工作?
您是否使用服務器端的Chunked Transfer Encoding? – axierjhtjz