как скачать изображение с любой веб-страницы в java

Привет, я пытаюсь загрузить изображение с веб-страницы. Я пытаюсь загрузить изображение с домашней страницы http://www.yahoo.com. Скажите, пожалуйста, как передать «http://www.yahoo.com» в качестве входных данных. И при открытии этой веб-страницы, как получить изображение с этой страницы. Пожалуйста, дайте мне java-код для получения изображения с веб-страницы.

(throws IOException) Image image = null; try { URL url = new URL("http://www.yahoo.com/image_to_read.jpg"); image = ImageIO.read(url); } catch (IOException e) { }https://stackoverflow.com/questions/5882005/how-to-download-image-from-any-web-page-in-java/ 

Дополнительную javax.imageiohttps://stackoverflow.com/questions/5882005/how-to-download-image-from-any-web-page-in-java/ см. javax.imageiohttps://stackoverflow.com/questions/5882005/how-to-download-image-from-any-web-page-in-java/ пакете javax.imageiohttps://stackoverflow.com/questions/5882005/how-to-download-image-from-any-web-page-in-java/ . Это использует AWT-образ. В противном случае вы можете сделать:

  URL url = new URL("http://www.yahoo.com/image_to_read.jpg"); InputStream in = new BufferedInputStream(url.openStream()); ByteArrayOutputStream out = new ByteArrayOutputStream(); byte[] buf = new byte[1024]; int n = 0; while (-1!=(n=in.read(buf))) { out.write(buf, 0, n); } out.close(); in.close(); byte[] response = out.toByteArray();https://stackoverflow.com/questions/5882005/how-to-download-image-from-any-web-page-in-java/ 

И тогда вы можете сохранить изображение так:

 FileOutputStream fos = new FileOutputStream("C://borrowed_image.jpg"); fos.write(response); fos.close();https://stackoverflow.com/questions/5882005/how-to-download-image-from-any-web-page-in-java/ 

Если вы хотите сохранить изображение, и вы знаете его URL, вы можете сделать это:

 try(InputStream in = new URL("http://example.com/image.jpg").openStream()){ Files.copy(in, Paths.get("C:/File/To/Save/To/image.jpg")); }https://stackoverflow.com/questions/5882005/how-to-download-image-from-any-web-page-in-java/ 

Вам также необходимо обработать IOExceptionhttps://stackoverflow.com/questions/5882005/how-to-download-image-from-any-web-page-in-java/ которое может быть выбрано.

Это работает для меня:

 URL url = new URL("http://upload.wikimedia.org/wikipedia/commons/9/9c/Image-Porkeri_001.jpg"); InputStream in = new BufferedInputStream(url.openStream()); OutputStream out = new BufferedOutputStream(new FileOutputStream("Image-Porkeri_001.jpg")); for ( int i; (i = in.read()) != -1; ) { out.write(i); } in.close(); out.close();https://stackoverflow.com/questions/5882005/how-to-download-image-from-any-web-page-in-java/ 

Вы ищете веб-гусеничную машину. Вы можете использовать JSoup для этого, вот основной пример

  // Do you want to download an image? // But are u denied access? // well here is the solution. public static void DownloadImage(String search, String path) { // This will get input data from the server InputStream inputStream = null; // This will read the data from the server; OutputStream outputStream = null; try { // This will open a socket from client to server URL url = new URL(search); // This user agent is for if the server wants real humans to visit String USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36"; // This socket type will allow to set user_agent URLConnection con = url.openConnection(); // Setting the user agent con.setRequestProperty("User-Agent", USER_AGENT); // Requesting input data from server inputStream = con.getInputStream(); // Open local file writer outputStream = new FileOutputStream(path); // Limiting byte written to file per loop byte[] buffer = new byte[2048]; // Increments file size int length; // Looping until server finishes while ((length = inputStream.read(buffer)) != -1) { // Writing data outputStream.write(buffer, 0, length); } } catch (Exception ex) { Logger.getLogger(WebCrawler.class.getName()).log(Level.SEVERE, null, ex); } // closing used resources // The computer will not be able to use the image // This is a must outputStream.close(); inputStream.close(); }https://stackoverflow.com/questions/5882005/how-to-download-image-from-any-web-page-in-java/ 

Следующий код загружает изображение из прямой ссылки на диск в каталог проекта. Также обратите внимание, что он использует try-with-resourceshttps://stackoverflow.com/questions/5882005/how-to-download-image-from-any-web-page-in-java/ .

 import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.MalformedURLException; import java.net.URL; import org.apache.commons.io.FilenameUtils; public class ImageDownloader { public static void main(String[] arguments) throws IOException { downloadImage("https://upload.wikimedia.org/wikipedia/commons/7/73/Lion_waiting_in_Namibia.jpg", new File("").getAbsolutePath()); } public static void downloadImage(String sourceUrl, String targetDirectory) throws MalformedURLException, IOException, FileNotFoundException { URL imageUrl = new URL(sourceUrl); try (InputStream imageReader = new BufferedInputStream( imageUrl.openStream()); OutputStream imageWriter = new BufferedOutputStream( new FileOutputStream(targetDirectory + File.separator + FilenameUtils.getName(sourceUrl)));) { int readByte; while ((readByte = imageReader.read()) != -1) { imageWriter.write(readByte); } } } }https://stackoverflow.com/questions/5882005/how-to-download-image-from-any-web-page-in-java/ 

Я думаю, он хотел указать URL-адрес сайта как входной, а не URL-адрес изображения. Для изображений, у которых есть url как src в html-коде сайтов, я думаю, вы могли бы сделать prasing и искать , а если это URL-адрес, а не локальный путь, используйте методы в других ответах, чтобы сохранить его.

  • Множественные разрешения для Android 6.0
  • Как я могу перечислять все classы в пакете и добавлять их в список?
  • Как работает BreakIterator в Android?
  • Spinner onItemSelected () выполняет ненадлежащим образом
  • Какую оптимизацию я могу ожидать от Dalvik и инструментальной цепочки Android?
  • Как измерить прошедшее время
  • Android: Разница между onInterceptTouchEvent и dispatchTouchEvent?
  • как динамически обновлять xml-файл из другого XML-файла?
  • Порядок инициализации и инстанцирования Java
  • HashMap: один ключ, несколько значений
  • Точка входа для приложений Java: main (), init () или run ()?
  • Interesting Posts

    Почему плохое отображение сетевых дисков в Windows?

    Моя Windows XP всегда загружается в chkdisk

    Каков наилучший тип данных для использования в Java-приложении?

    Как включить один частичный в другой, не создавая новую область?

    Каков наилучший способ ограничить IP-адреса, которые могут быть доступны из контейнера докеров?

    Что такое исключение NoSuchBeanDefinitionException и как его исправить?

    Каков правильный способ представления нулевых элементов XML?

    PostgreSQL 9.2 row_to_json () с вложенными объединениями

    Критику моего неинтрузивного отладчика кучи

    Как определить, когда переменная изменяет значение

    Кодировка Spring MVC UTF-8

    Что означает `dword ptr`?

    Как предотвратить запуск LibreOffice при каждом запуске?

    Изменился ли стандарт C ++ в отношении использования неопределенных значений и неопределенного поведения в C ++ 14?

    Как увеличить разрешение виртуального окна linux guest

    Давайте будем гением компьютера.