Рубрики
Без рубрики

Файл загрузки Java с URL-адреса

Java Скачать файл с URL пример программы, java код для загрузки файла с URL openStream, BufferedInputStream, Читаемый байтканал, Поток вывода файлов

Автор оригинала: 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. Если вы ищете производительность, то проведите некоторый анализ, используя оба метода, и посмотрите, что соответствует вашим потребностям.