我的文件大小为5MB,并希望通过HttpURLConnection下载(目标就像“ http://...../songs/Beatles_And I Love Her.mp3”)。
我正在尝试如下
URL url = new URL("http://........../songs/Beatles_And I Love Her.mp3");
URLConnection urlConnection = url.openConnection();
HttpURLConnection httpURLConnection = (HttpURLConnection)urlConnection;
httpURLConnection.getResponseCode();
InputStream stream = httpURLConnection.getInputStream();
byte buf[] = new byte[128];
do
{
int numread = stream.read(buf);
if (numread <= 0)
{
stream.close();
break;
}
} while (true);
但是问题在于它只读取2KB到3KB的数据,然后返回-1并退出。
最佳答案
检查响应代码(应为200)并检查所获取数据的内容。
艾夫也有类似的问题。原来是我读取的服务器上的错误页面,而不是正确的文件:-)
另外,尝试使用不包含空格的文件(在服务器上重命名为Beatles_And_I_Love_Her.mp3)
关于android - HttpURLConnection读取输入流失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7592153/