2017-02-01 1 views
0

をダウンロードすることはできませんが、データがうまくデコードされていないようですは「<a href="http://www.mtv.de/news_sitemap.xml.gz" rel="nofollow noreferrer">http://www.mtv.de/news_sitemap.xml.gz</a>」を読み取ろうと正しくGZファイル

Request request = new Request.Builder() 
      .url("http://www.mtv.de/news_sitemap.xml.gz") 
      .build(); 

    try { 
     Response response = client.newCall(request).execute(); 

     System.out.println(response.body().string()); 
    } 
    catch(IOException e) 
    { 

    } 

ファイルに問題がありますか、インストール/設定する必要はありますか?

答えて

0

ダウンロードしたファイルは圧縮されたファイルです。コマンド:

System.out.println(response.body()。文字列());

ファイルを抽出できず、ファイルの内容を印刷できません。最初にファイルを抽出してから、抽出したファイルをプリントアウトする必要があります。以下の例を試してみましょう:

@Test 
    public void testDownloadFile() throws IOException { 

    Request request = new Request.Builder() 
     .url("http://www.mtv.de/news_sitemap.xml.gz") 
     .build(); 

    try { 
     OkHttpClient client = new OkHttpClient(); 
     Response response = client.newCall(request).execute(); 

     ByteArrayInputStream bais = new ByteArrayInputStream(response.body().bytes()); 
     GZIPInputStream gzis = new GZIPInputStream(bais); 
     InputStreamReader reader = new InputStreamReader(gzis); 
     BufferedReader in = new BufferedReader(reader); 

     String readed; 
     while ((readed = in.readLine()) != null) { 
     System.out.println(readed); 
     } 

    } catch (IOException e) { 

    } 

    } 
+0

私はOkHttpライブラリがこれを処理すると信じていました: –

関連する問題