CodeGym /Cursuri /Colecții Java /Descărcare fișier

Descărcare fișier

Colecții Java
Nivel , Lecţie
Disponibil

"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ă.”

Comentarii
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION