Автор оригинала: Pankaj Kumar.
Сегодня мы узнаем, как загрузить файл с URL-адреса на java. Мы можем использовать java.net.URL
|/openStream() метод загрузки файла с URL в java-программе. Мы можем использовать каналы Java NIO или входной поток Java IO для чтения данных из открытого потока URL-адреса, а затем сохранить их в файл.
Файл загрузки Java с URL-адреса
Вот простой файл загрузки java из примера программы URL. Он показывает оба способа загрузки файла с URL-адреса на java.
Вот простой файл загрузки java из примера программы URL. Он показывает оба способа загрузки файла с URL-адреса на java.
package com.journaldev.files; import java.io.BufferedInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.net.URL; import java.nio.channels.Channels; import java.nio.channels.ReadableByteChannel; public class JavaDownloadFileFromURL { public static void main(String[] args) { String url = "https://www.journaldev.com/sitemap.xml"; try { downloadUsingNIO(url, "/Users/pankaj/sitemap.xml"); downloadUsingStream(url, "/Users/pankaj/sitemap_stream.xml"); } catch (IOException e) { e.printStackTrace(); } } private static void downloadUsingStream(String urlStr, String file) throws IOException{ URL url = new URL(urlStr); BufferedInputStream bis = new BufferedInputStream(url.openStream()); FileOutputStream fis = new FileOutputStream(file); byte[] buffer = new byte[1024]; int count=0; while((count = bis.read(buffer,0,1024)) != -1) { fis.write(buffer, 0, count); } fis.close(); bis.close(); } private static void downloadUsingNIO(String urlStr, String file) throws IOException { URL url = new URL(urlStr); ReadableByteChannel rbc = Channels.newChannel(url.openStream()); FileOutputStream fos = new FileOutputStream(file); fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); fos.close(); rbc.close(); } }
загрузка с помощью потока : В этом методе загрузки файла java с URL мы используем метод URL openStream
для создания входного потока. Затем мы используем поток вывода файла для чтения данных из потока ввода и записи в файл.
загрузка с помощью NIO : В этом методе загрузки файла с URL мы создаем байтовый канал из данных потока URL. Затем используйте поток вывода файла, чтобы записать его в файл.
Вы можете использовать любой из этих методов для загрузки файла с URL-адреса в программе java. Если вы ищете производительность, то проведите некоторый анализ, используя оба метода, и посмотрите, что соответствует вашим потребностям.