« Salut Amigo ! »

« Salut, Élie ! »

"Tu sembles très content de toi aujourd'hui."

"Hé, Bilaabo est tombé malade."

"Donc, il n'a pas pu t'expliquer un tas de choses intéressantes, utiles et nécessaires. Il est temps de mettre ton pantalon de gros robot."

"Uh-huh. Je promets de tout découvrir moi-même. Bilaabo m'a donné un lien."

"D'accord, bien. Alors je vais te dire quelque chose d'intéressant."

"À savoir, comment télécharger des vidéos à partir d'Internet."

"Pour fonctionner avec Internet, Java a une classe spéciale appelée URL. Voici comment utiliser cette classe pour télécharger un fichier :"

1) Tout d'abord, vous devez spécifier l'URL correcte du serveur dont vous avez besoin.

2) Ensuite, vous devez utiliser l'URL pour établir une connexion avec le serveur.

3) Envoyez ensuite le corps de la requête s'il s'agit d'une requête POST. Ou vous pouvez ignorer cette étape s'il s'agit d'une requête GET.

4) Enfin, lisez la réponse du serveur.

"Voici à quoi ressemble un simple téléchargement de fichier :"

Exemple
URL url = new URL("https://www.google.com.ua/images/srpr/logo11w.png");
URLConnection connection = url.openConnection(); // Establish a connection

// Get an OutputStream in order to write the request to it
OutputStream outputStream = connection.getOutputStream();
outputStream.write(1);
outputStream.flush();

// Get an InputStream in order to read the response from it
InputStream inputStream = connection.getInputStream();
Files.copy(inputStream, new File("c:/google.png").toPath());

"Tout d'abord, nous établissons une connexion avec le serveur en obtenant un objet URLConnection ."

"Ensuite, nous obtenons le OutputStream dans lequel la requête doit être écrite. Et nous y écrivons quelque chose."

"Ensuite, nous obtenons l'objet InputStream représentant la réponse, à partir duquel nous lisons la réponse elle-même. Nous utilisons la méthode Files.copy pour enregistrer les données envoyées dans le fichier "c:/google.png"."

« Oui, je comprends. Qu'est-ce que « écrire(1) » ? »

"Eh bien, j'ai inclus cela pour vous montrer que vous pouvez y écrire quelque chose. Vous n'avez en fait rien besoin d'écrire quoi que ce soit dans la demande pour télécharger le fichier. Vous pouvez simplement obtenir immédiatement un InputStream et commencer à lire la réponse à partir de là. L'objet URL a même une méthode openStream() qui renvoie immédiatement un objet InputStream. Mais cela ne convient que pour les requêtes GET. Par exemple :"

Exemple
URL url = new URL("https://www.google.com.ua/images/srpr/logo11w.png");
InputStream inputStream = url.openStream();
Files.copy(inputStream, new File("c:/google.png").toPath());

"Comme c'est intéressant ! Je ne pensais pas que télécharger un fichier était si facile."

"Eh bien, personne ne le fait habituellement comme ça, car les fichiers peuvent être volumineux et prendre très longtemps à télécharger."

"Il existe de nombreux frameworks qui simplifient considérablement le travail avec les fichiers, mais je ne suis pas prêt à en parler maintenant. Une autre fois."