使用DefaultHttpClient下载时java.net.URISyntaxException

时间:2012-05-13 17:46:33

标签: java syntax uri

我编写了一个类来获取创建一些并行下载的文件。我使用下面的简单代码进行下载:

DefaultHttpClient conn = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(new URI(M_url));
HttpResponse = conn.execute(httpPost);

在某些文件链接( M_url )中,程序没问题,但是当我想下载包含 [] 等字符的链接时,发生了URISyntaxException。例如,对于链接http://dl.androidiha.com/games/Dead-Rider-v2.5.2[Androidiha.com].zip错误如下:

  

java.net.URISyntaxException:索引48处路径中的非法字符:   http://dl.androidiha.com/games/Dead-Rider-v2.5.2[Androidiha.com].zipException   在线程“main”java.lang.NullPointerException

解决此问题的程序化解决方案是什么?我使用以下代码,但这无法解决我的问题:

M_url = URLEncoder.encode(M_url, "UTF-8")

如果此主题与类似主题重复,请提前致谢并抱歉。

1 个答案:

答案 0 :(得分:1)

我相信编码可能就是答案。关于如何处理URISyntaxexception存在类似的主题。 How to deal with the URISyntaxException

我相信你可以用类似的方式解决问题