"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:”
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:"
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ă.”
GO TO FULL VERSION