Как скачать файлы по URL?

Скачивание файлов по URL в Java можно выполнить с использованием класса HttpURLConnection из стандартной библиотеки Java.

Вот пример кода, который позволяет скачивать файлы по URL:

import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class FileDownloader {

    public static void main(String[] args) {
        String fileUrl = "https://example.com/file.txt";
        String savePath = "C:/Downloads/file.txt";

        try {
            downloadFile(fileUrl, savePath);
            System.out.println("Файл успешно скачан!");
        } catch (IOException e) {
            System.out.println("Ошибка при скачивании файла: " + e.getMessage());
        }
    }

    public static void downloadFile(String fileUrl, String savePath) throws IOException {
        URL url = new URL(fileUrl);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        int responseCode = connection.getResponseCode();

        if (responseCode == HttpURLConnection.HTTP_OK) {
            try (InputStream inputStream = connection.getInputStream();
                 BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);
                 FileOutputStream fileOutputStream = new FileOutputStream(savePath)) {

                byte[] buffer = new byte[1024];
                int bytesRead;
                while ((bytesRead = bufferedInputStream.read(buffer)) != -1) {
                    fileOutputStream.write(buffer, 0, bytesRead);
                }
            }
        } else {
            throw new IOException("Ошибка HTTP соединения. HTTP код: " + responseCode);
        }
    }
}

В этом примере мы создаем метод downloadFile, который принимает URL файла и путь, куда его нужно сохранить. В методе мы открываем соединение с помощью класса HttpURLConnection, проверяем код ответа, и если код равен OK (200), то считываем данные из входного потока и записываем их в файл с помощью FileOutputStream.

В методе main мы вызываем downloadFile с URL файла для скачивания и путем, по которому его нужно сохранить.

Прежде чем использовать данный код, необходимо убедиться, что у вас есть соединение с Интернетом и что у вас есть достаточные права доступа для записи в указанную папку.

Также имейте в виду, что этот код выполняется синхронно и может заблокировать выполнение вашего приложения до завершения скачивания файла.