我正在开发具有如下工作流程的应用程序:
1.解析主页(使用HttpURLConnection,connect(),do stuff,disconnect(),使用数据),
2.点击我做的链接后,根据链接解析文章或下载文件。
在文章的情况下,第一步也很完美,第二步也是如此,但是当我尝试从特定 url 下载文件并将其保存到 SD 卡时,我在这一行得到了 fileNotFoundException:
InputStream inputStream = urlConnection.getInputStream();
我的指南(下载文件)是此处解释的代码http://goo.gl/GTBOP并且我在清单中设置了此操作所需的权限,加上在任何下载操作之前我检查了 MEDIA_MOUNTED 和 MEDIA_MOUNTED_READ_ONLY 状态,看起来像这样很合身。
所以..我在stackOverflow和其他地方阅读了很多关于这个问题的信息,我尝试了不同的建议,比如添加这些:
urlConnection.setRequestProperty("User-Agent","Mozilla/5.0 ( compatible ) ");
urlConnection.setRequestProperty("Accept","*/*");
或者
System.setProperty("http.keepAlive", "false");
但没有成功。我仍然坚持使用 fileNotFoundException。我试图从网页上捕获响应代码,它说 404 .. ?!
奇怪的是,如果我硬编码文件链接以从任何其他站点下载文件,它会毫无问题地下载文件。因此,为了清楚起见,我选择了指向 fileurl 变量的单击链接,但在下一步中,我只是说 fileurl="somesite/somefile.ext" 一切顺利。从网络浏览器中,我可以下载任何在我的应用程序中出现问题的文件,所以我我很困惑问题出在哪里。。
请问有什么建议吗..?10q