FileNotFoundException для URL, содержащего латинские символы
У меня проблемы с загрузкой картинок, которые содержат латинские символы, такие как: č, ć, š, đ, ž. Код работает безупречно для других ссылок, но когда он попадает на этот или любой другой, содержащий латинский символ:
InputStream input = null;
try {
URL url = new URL(http://www.novosti.rs/upload/thumbs/images/2012//09/28j/Supruga%20Gorana%20Savića_75x45.jpg);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setDoInput(true);
conn.connect();
input = conn.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
conn.disconnect();
return myBitmap;
} catch (IOException e) {
e.printStackTrace();
return null;
} finally {
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
Это бросает:
java.io.FileNotFoundException: http://www.novosti.rs/upload/thumbs/images/2012//09/28j/Supruga%20Gorana%20Savića_75x45.jpg
хотя вы можете попробовать скопировать ссылку на адресную строку, чтобы убедиться, что она действительна. Так что я могу сделать?
1 ответ
Решение
Попробуйте использовать URLEncoder.encode(String s, String charsetName)
который преобразует специальные символы в %
числовая форма с разделителями.
Смотрите документацию URLEncoder.