0

Я могу загрузить данные через HttpUrlConnection и InputStream, но мне нужно загрузить необработанные данные. Итак, я хочу создать DownloadManager через raw-data, а затем используя raw-data, я преобразовываю эти данные в двоичный или формат изображения. Согласно моим исследованиям, я вижу «скачать файл с url», но я не могу загрузить файл в Mac? Всегда, я получаю FileNotFoundException. Пожалуйста, помогите мне. Как я могу загрузить данные из url?Как скачать данные с url?

public class DownloadData extends AsyncTask<Void,Void,Void> { 
@Override 
protected Void doInBackground(Void... params) { 

    try { 
     downloadData("https://blablalabla/get"); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    return null; 
} 

public void downloadData(String myurl) throws IOException { 
    URL u = new URL(myurl); 
    InputStream is = u.openStream(); 

    DataInputStream dis = new DataInputStream(is); 

    byte[] buffer = new byte[1024]; 
    int length; 

    OutputStream fos = new FileOutputStream(new File(Environment.getExternalStorageDirectory() + "/Users/ilknurpc/Desktop/text.docx")); 
    while ((length = dis.read(buffer))>0) { 
     fos.write(buffer, 0, length); 
    } 


} 
} 
+0

Просьба показать, по крайней мере, соответствующие выдержки из вашего кода. – Fang

ответ

0

Если вы хотите построить работоспособный менеджер загрузок, я хотел бы предложить вам взглянуть на Tomcat Default Servlet Implementation .

Существует несколько заголовков HTTP, которые вам нужно понимать, такие как E-метки и заголовки диапазона Http для правильной реализации.

К счастью, Servlet по умолчанию Tomcat обрабатывает необходимые вам предпосылки.

Вы можете адаптировать этот сервлет в своем коде с небольшими изменениями (декларация пакета и т. Д.).