0

私はHttpUrlConnectionとInputStreamを介してデータをダウンロードできますが、私はrawデータをダウンロードする必要があります。だから、私はRawDataを使ってDownloadManagerを作成し、次にこのデータをバイナリまたはイメージ形式に変換するRawデータを使用したいと思います。私の研究によると、 "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 を見てみることをお勧めします。

適切な実装のためにE-TagやHttp Range Headersなど、いくつかのHTTPヘッダを理解する必要があります。

ありがたいことに、Tomcat Default Servletが前提条件を処理します。

ごくわずかな変更(パッケージ宣言など)でこのサーブレットをコードに適用することができます。

関連する問題