"Hej, Amigo!"

"Hej, Ellie!"

"Du virker meget tilfreds med dig selv i dag."

"Heh, Bilaabo blev syg."

"Så han kunne ikke forklare en masse interessante, nyttige og nødvendige ting for dig. Det er tid til at tage dine store robotbukser på."

"Øh-huh. Jeg lover at finde ud af det hele selv. Bilaabo gav mig et link."

"Okay, godt. Så skal jeg fortælle dig noget interessant."

"Nemlig hvordan man downloader videoer fra internettet."

"For at arbejde med internettet har Java en speciel klasse kaldet URL. Sådan bruger du denne klasse til at downloade en fil:"

1) Først skal du angive den korrekte URL på den server, du har brug for.

2) Så skal du bruge URL'en til at oprette forbindelse til serveren.

3) Send derefter brødteksten af ​​anmodningen, hvis det er en POST-anmodning. Eller du kan springe dette trin over, hvis det er en GET-anmodning.

4) Læs endelig serversvaret.

"Sådan ser en simpel fildownload ud:"

Eksempel
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 etablerer vi en forbindelse med serveren ved at hente et URLConnection- objekt."

"Så får vi den OutputStream, som anmodningen skal skrives til. Og vi skriver noget til den."

"Så får vi InputStream-objektet, der repræsenterer svaret, hvorfra vi læser selve svaret. Vi bruger Files.copy-metoden til at gemme de sendte data til filen «c:/google.png»."

"Ja, jeg forstår. Hvad er «skriv(1)»?"

"Jamen, det har jeg inkluderet for at vise dig, at du kan skrive noget der. Du behøver faktisk ikke skrive noget i anmodningen for at downloade filen. Du kan bare straks få en InputStream og begynde at læse svaret derfra. URL-objektet har endda en openStream()-metode, der straks returnerer et InputStream-objekt. Men dette er kun egnet til GET-anmodninger. For eksempel:"

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

"Hvor interessant! Jeg troede ikke det var så nemt at downloade en fil."

"Nå, ingen plejer at gøre det sådan, da filer kan være store og tage meget lang tid at downloade."

"Der er en del rammer, der i høj grad forenkler arbejdet med filer, men jeg er ikke klar til at tale om dem nu. En anden gang."