【发布时间】:2015-05-07 16:08:55
【问题描述】:
在一个 android 应用程序中,我正在尝试将文件从 Web 服务器下载到外部存储上的 /Download 文件夹。下载代码在服务中的HandlerThread 中执行。
除下载文件外,该服务还执行其他功能。下载代码如下:
public void downloadFile(){
new Thread(new Runnable() {
@Override
public void run() {
try{
URL url = new URL("http://192.168.1.105/download/apkFile.apk");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
InputStream inputStream = connection.getInputStream();
File file = new File(Environment.getExternalStorageDirectory().getPath()+"/Download/apkFile.apk");
FileOutputStream fileOutputStream = new FileOutputStream(file);
int bytesRead;
byte[] buffer = new byte[4096];
while((bytesRead = inputStream.read(buffer)) != -1){
fileOutputStream.write( buffer, 0, bytesRead);
}
fileOutputStream.close();
inputStream.close();
}catch(Exception e){
e.printStackTrace();
}
}
}).start();
}
执行没有错误,但文件没有下载。请提出建议。
【问题讨论】:
-
那么文件存放在哪个目录下?
-
showOutput 现在告诉你什么?在 catch 块中也放一个 showOutput。有联系吗?将日志语句放入您的代码中,以便您可以按照流程进行操作。
-
@greenapps 你说得对,这并不意味着什么......我已经编辑了代码。文件无法下载的任何建议..
-
男人不要删除它,而是用它来检查发生了什么。现在它显示了网址吗?因为如果它执行了所有代码。所以把它放回去。还有一个在 catch 块中。然后添加很多 Log.d() 语句。让我们看看您如何更新代码并告诉我们发生了什么。
-
@PhanDinhThai 该文件将存储在 /Download 目录中..
标签: android downloading-website-files