2010-07-29 3 views
2

Я использую httpclient для загрузки изображений с веб-страницы, и я пытаюсь сохранить их на диск, но не очень повезло. Я использую этот код, чтобы извлечь изображение, но не уверен, что нужно делать дальше, чтобы на самом деле получить его на диск, Выборки бы на JPG или PNG изображений путь ... благодаряКак сохранить изображение на диск в Java?

HttpContext localContext = new BasicHttpContext(); 
     localContext.setAttribute(ClientContext.COOKIE_STORE,HttpClientFetch.emptyCookieStore); 

     HttpGet httpget = new HttpGet(pPage.imageSrc); 
     HttpResponse response; 
     response = httpClient.execute(httpget, localContext); 

     Header[] headers = response.getAllHeaders(); 
     for(Header h: headers) { 
      logger.info("HEADERS: "+h.getName()+ " value: "+h.getValue()); 
     } 

     HttpEntity entity = response.getEntity(); 


     Header contentType = response.getFirstHeader("Content-Type"); 

     byte[] tmpFileData; 

     if (entity != null) { 
      InputStream instream = entity.getContent(); 
      int l; 
      tmpFileData = new byte[2048]; 
      while ((l = instream.read(tmpFileData)) != -1) { 
      } 
     } 

tmpFileData теперь должен содержать байты jpg с веб-сайта.

+1

не будет использовать файлOutputStream.write (byte []) работать? – samitgaur

ответ

3
if (entity != null) { 
    InputStream instream = entity.getContent(); 
    OutputStream outstream = new FileOutputStream("YourFile"); 
    org.apache.commons.io.IOUtils.copy(instream, outstream); 
} 
+0

работал! спасибо :) – James

+0

Используя этот пример, Java показывает ошибку, потому что YourFile не существует. Почему это происходит, я предполагаю, что этот скрипт пытается создать этот файл, а не читать из него. – eLRuLL

1

Посмотрите на FileOutputStream и его метод write.

FileOutputStream out = new FileOutputStream("outputfilename"); 
out.write(tmpFileData); 
1

Лучше использовать Apache Commons-ю, то вы можете просто скопировать один InputStream в один OutputStream (FileOutputStream в вашем случае).

Смежные вопросы