"Hej, Amigo!"

"Hej Ellie!"

"Du verkar väldigt nöjd med dig själv idag."

"Heh, Bilaabo blev sjuk."

"Så han kunde inte förklara en massa intressanta, användbara och nödvändiga saker för dig. Det är dags att ta på dig dina stora robotbyxor."

"Äh-ha. Jag lovar att reda ut allt själv. Bilaabo gav mig en länk."

"Okej, bra. Då ska jag berätta något intressant för dig."

"Nämligen hur man laddar ner videor från Internet."

"För att arbeta med Internet har Java en speciell klass som heter URL. Så här använder du den här klassen för att ladda ner en fil:"

1) Först måste du ange korrekt URL till servern du behöver.

2) Sedan måste du använda URL:en för att upprätta en anslutning till servern.

3) Skicka sedan brödtexten på begäran om det är en POST-förfrågan. Eller så kan du hoppa över det här steget om det är en GET-förfrågan.

4) Läs slutligen serversvaret.

"Så här ser en enkel filnedladdning ut:"

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

"Först upprättar vi en anslutning med servern genom att hämta ett URLConnection- objekt."

"Då får vi OutputStream som förfrågan måste skrivas till. Och vi skriver något till den."

"Då får vi InputStream-objektet som representerar svaret, från vilket vi läser själva svaret. Vi använder metoden Files.copy för att spara den skickade datan till filen «c:/google.png»."

"Ja, jag förstår. Vad är «skriv(1)»?"

"Tja, jag inkluderade det för att visa dig att du kan skriva något där. Du behöver faktiskt inte skriva något i förfrågan för att ladda ner filen. Du kan bara direkt skaffa en InputStream och börja läsa svaret därifrån. URL-objektet har till och med en openStream()-metod som omedelbart returnerar ett InputStream-objekt. Men detta är bara lämpligt för GET-förfrågningar. Till exempel:"

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

"Vad intressant! Jag trodde inte att det var så lätt att ladda ner en fil."

"Tja, ingen brukar göra det så här, eftersom filer kan vara stora och ta väldigt lång tid att ladda ner."

"Det finns en hel del ramverk som avsevärt förenklar arbetet med filer, men jag är inte redo att prata om dem nu. Någon annan gång."