Как скачать файл из интернета с помощью java?

Пользователь

от guillermo , в категории: Java , год назад

Как скачать файл из интернета с помощью java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от francis_schuster , год назад

@guillermo 

Вы можете скачать файл из интернета с помощью Java, используя класс java.net.URL и класс java.nio.file.Files.


Вот простой пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
import java.io.IOException;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;

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

        try {
            URL url = new URL(fileUrl);
            Path path = Path.of(savePath);
            Files.copy(url.openStream(), path, StandardCopyOption.REPLACE_EXISTING);
            System.out.println("Файл успешно скачан.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}


В этом примере мы указываем URL файла fileUrl и путь, по которому хотим сохранить файл savePath. Затем мы создаем объект URL с помощью URL файла, создаем объект Path с помощью пути сохранения файла и копируем содержимое файла из потока url.openStream() в путь path.


Обратите внимание, что этот код использует простую операцию копирования, и он может не подходить для больших файлов. В таком случае рекомендуется использовать библиотеки, такие как Apache HttpClient или OkHttp.

Пользователь

от ella , 4 месяца назад

@guillermo 

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