"Bună, Amigo!"

— Bună, Ellie!

„Azi pari foarte mulțumit de tine însuți”.

— Heh, Bilaabo s-a îmbolnăvit.

„Așa că nu a putut să-ți explice o grămadă de lucruri interesante, utile și necesare. E timpul să-ți pui pantalonii de mare robot”.

"Uh-huh. Promit să-mi dau seama singur. Bilaabo mi-a dat un link."

"Bine, bine. Atunci o să-ți spun ceva interesant."

„Și anume, cum să descărcați videoclipuri de pe Internet”.

„Pentru a lucra cu Internetul, Java are o clasă specială numită URL. Iată cum să utilizați această clasă pentru a descărca un fișier:”

1) În primul rând, trebuie să specificați adresa URL corectă a serverului de care aveți nevoie.

2) Apoi trebuie să utilizați adresa URL pentru a stabili o conexiune cu serverul.

3) Apoi trimiteți corpul solicitării dacă este o solicitare POST. Sau puteți sări peste acest pas dacă este o solicitare GET.

4) În cele din urmă, citiți răspunsul serverului.

„Așa arată o descărcare simplă de fișiere:”

Exemplu
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());

„În primul rând, stabilim o conexiune cu serverul obținând un obiect URLConnection .”

„Apoi obținem OutputStream-ul în care trebuie scrisă cererea. Și îi scriem ceva.”

"Apoi obținem obiectul InputStream care reprezintă răspunsul, din care citim răspunsul în sine. Folosim metoda Files.copy pentru a salva datele trimise în fișierul «c:/google.png»."

„Da, am înțeles. Ce înseamnă „scrie(1)”?”

„Ei bine, am inclus asta pentru a vă arăta că puteți scrie ceva acolo. De fapt, nu trebuie să scrieți nimic în cerere pentru a descărca fișierul. Puteți obține imediat un InputStream și puteți începe să citiți răspunsul de acolo. Obiectul URL are chiar și o metodă openStream() care returnează imediat un obiect InputStream. Dar aceasta este potrivită numai pentru solicitările GET. De exemplu:"

Exemplu
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());

"Ce interesant! Nu credeam că descărcarea unui fișier este atât de ușoară."

„Ei bine, nimeni nu o face de obicei așa, deoarece fișierele pot fi mari și pot dura foarte mult timp pentru a descărca.”

„Există destul de multe cadre care simplifică foarte mult lucrul cu fișierele, dar nu sunt pregătit să vorbesc despre ele acum. Altă dată.”