Download-Datei

Java Collections
Level 10 , Lektion 3
Verfügbar

„Hallo, Amigo!“

„Hallo, Ellie!“

„Du scheinst heute sehr zufrieden mit dir zu sein.“

„Heh, Bilaabo wurde krank.“

„Also konnte er dir eine Menge interessanter, nützlicher und notwendiger Dinge nicht erklären. Es ist Zeit, deine großen Roboterhosen anzuziehen.“

„Uh-huh. Ich verspreche, das alles selbst herauszufinden. Bilaabo hat mir einen Link gegeben.“

„Okay, gut. Dann erzähle ich dir etwas Interessantes.“

„Nämlich, wie man Videos aus dem Internet herunterlädt.“

„Um mit dem Internet zu arbeiten, verfügt Java über eine spezielle Klasse namens URL. So verwenden Sie diese Klasse zum Herunterladen einer Datei:“

1) Zuerst müssen Sie die korrekte URL des benötigten Servers angeben.

2) Anschließend müssen Sie über die URL eine Verbindung mit dem Server herstellen.

3) Senden Sie dann den Hauptteil der Anfrage, wenn es sich um eine POST-Anfrage handelt. Alternativ können Sie diesen Schritt überspringen, wenn es sich um eine GET-Anfrage handelt.

4) Lesen Sie abschließend die Serverantwort.

„So sieht ein einfacher Datei-Download aus:“

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

„Zuerst stellen wir eine Verbindung mit dem Server her, indem wir ein URLConnection- Objekt abrufen .“

„Dann erhalten wir den OutputStream, in den die Anfrage geschrieben werden muss. Und wir schreiben etwas hinein.“

„Dann erhalten wir das InputStream-Objekt, das die Antwort darstellt, aus dem wir die Antwort selbst lesen. Wir verwenden die Methode Files.copy, um die gesendeten Daten in der Datei „c:/google.png“ zu speichern.“

„Ja, ich verstehe. Was ist „write(1)“?“

„Nun, ich habe das eingefügt, um Ihnen zu zeigen, dass Sie dort etwas schreiben können. Eigentlich müssen Sie nichts in die Anfrage schreiben, um die Datei herunterzuladen. Sie können einfach sofort einen InputStream abrufen und von dort aus mit dem Lesen der Antwort beginnen. Das URL-Objekt verfügt sogar über eine openStream()-Methode, die sofort ein InputStream-Objekt zurückgibt. Diese ist jedoch nur für GET-Anfragen geeignet. Beispiel:“

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

„Wie interessant! Ich hätte nicht gedacht, dass das Herunterladen einer Datei so einfach ist.“

„Naja, normalerweise macht das niemand so, denn Dateien können groß sein und das Herunterladen sehr lange dauern.“

„Es gibt eine ganze Reihe von Frameworks, die die Arbeit mit Dateien erheblich vereinfachen, aber ich bin jetzt nicht bereit, darüber zu sprechen. Ein anderes Mal.“

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