Я работаю над проектом, где в URL иногда могут быть пустые места (не всегда), например: www.google.com/ example / test.jpg, а иногда и www.google.com/example/test.jpg. .
Мой код:
try {
URL url = new URL(stringURL);
URLConnection conexion = url.openConnection();
conexion.connect();
// downlod the file
InputStream input = new BufferedInputStream(url.openStream(), 8192);
OutputStream output = new FileOutputStream(fullPath.toString());
byte data[] = new byte[1024];
while ((count = input.read(data)) != -1) {
output.write(data, 0, count);
}
output.flush();
output.close();
input.close();
} catch (Exception e) {
e.printStackTrace();
}
Ошибка этой строки: InputStream input = new BufferedInputStream (url.openStream (), 8192);
с исключением: java.io.FileNotFoundException.
Я пытался закодировать конкретную строку, но вот кикер: серверу нужно пустое место "", чтобы найти файл, поэтому мне нужно каким-то образом иметь свободное место. Я могу найти файл (JPG), если я использую браузер Firefox.
Любая помощь высоко ценится.
Редактировать обновление:
Что ж, теперь я попытался закодировать каждый бит после основной части URL в utf-8, и я попытался использовать и +, и% 20 для пробела. Теперь я могу управлять DL файлом, но он будет неисправен, поэтому его невозможно прочитать.
Редактировать обновление2:
Я ошибся с% 20, это работает.