Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用带有破折号的图像URL_Android_Url_Hyphen - Fatal编程技术网

Android 使用带有破折号的图像URL

Android 使用带有破折号的图像URL,android,url,hyphen,Android,Url,Hyphen,我正在尝试从网站下载图像,我的代码在大多数情况下运行良好,但我无法从此URL的%20Blues%20-%20Such%20Sweet%20Thunder.jpg下载 这个URL和其他URL的区别在于,这个URL有一个破折号。我相当肯定这就是问题所在。有办法解决这个问题吗 我的错误是java.io.filenotfoundexception 我最初的代码是: imgLink = "http://www.liveandlocal.org.uk/images/ShowPics/" + Show + "

我正在尝试从网站下载图像,我的代码在大多数情况下运行良好,但我无法从此URL的%20Blues%20-%20Such%20Sweet%20Thunder.jpg下载

这个URL和其他URL的区别在于,这个URL有一个破折号。我相当肯定这就是问题所在。有办法解决这个问题吗

我的错误是
java.io.filenotfoundexception

我最初的代码是:

imgLink = "http://www.liveandlocal.org.uk/images/ShowPics/" + Show + ".jpg";
imgLink = imgLink.replace(" ", "%20"); 
这给了我如下链接: 这是可行的,但这对我在顶部发布的链接不起作用

所以现在我试着:

try {
    Show = URLEncoder.encode(Show, "UTF-8");
} catch (UnsupportedEncodingException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
imgLink = "http://www.liveandlocal.org.uk/images/ShowPics/" + Show + ".jpg";
这对我的任何链接都不起作用,例如


如果你在这篇文章的开头复制并粘贴链接到你的浏览器中,它会起作用,因此它在Android上不起作用。

你的url包含不适合url的字母(
)。 您可以按以下方式对url进行编码:

String encodedUrl = URLEncoder.encode(normalUrl, "UTF-8");
imgLink=”http://www.liveandlocal.org.uk/images/ShowPics/Steiny%E2%80%99s%20Blues%20-%20Such%20Sweet%20Thunder.jpg“

对我来说工作正常,测试了它,因此相应地替换字符
'


-
很好。

看起来是
'
在破坏它,而不是
-
。你把它编码好了吗?我想也许我们需要看看你的代码。你觉得怎么样?我已经编辑了我的帖子,加入了代码——也尝试了迈克尔的答案——不管用——太好了,现在都管用了。我只是使用.replace将“”更改为%20,将“'”更改为%E2%80%99。有更好的方法吗?您在哪里找到%E2%80%99代码?只需复制您在我的浏览器的地址栏中提到的url并打开图像,然后再次从那里复制它就变成了
http://www.liveandlocal.org.uk/images/ShowPics/Steiny%E2%80%99s%20Blues%20-%20Such%20Sweet%20Thunder.jpg
。现代浏览器自动在开头添加
http://
,并在复制表单时替换空格和这些spl字符。。。