Java datei downloaden speichern

Das erste, was wir wissen sollten, ist, dass wir die Größe einer Datei von einer bestimmten URL lesen können, ohne sie tatsächlich herunterzuladen, indem wir sie mit der HTTP HEAD-Methode verwenden: Wissen Sie, in Java können wir die Klassen URLand HttpURLConnection im Paket verwenden, java.net, um eine Datei von einer bestimmten URL programmgesteuert herunterzuladen, indem wir diesen Schritten folgen: Wir haben in diesem Artikel mehrere Möglichkeiten gesehen, wie wir eine Datei von einer URL in Java herunterladen können. Eine weitere häufige Möglichkeit, den Range-Header zu verwenden, ist das Herunterladen einer Datei in Blöcken durch Festlegen verschiedener Bytebereiche. Um beispielsweise die 2 KB-Datei herunterzuladen, können wir den Bereich 0 – 1024 und 1024 – 2048 verwenden. Wie Sie sehen können, öffnen wir eine Verbindung mit dem URL-Objekt und lesen sie dann über das BufferedInputStreamReader-Objekt. Der Inhalt wird als Bytes gelesen und mit dem FileOutputStream in eine Datei im lokalen Verzeichnis kopiert. Wenn Sie sich hinter einem Proxy befinden, können Sie die Proxys im Java-Programm wie folgt festlegen: Als Nächstes erstellen wir eine HTTP GET-Anforderung und registrieren einen AsyncCompletionHandler-Handler, um den heruntergeladenen Inhalt zu verarbeiten: Um die Anzahl der Codezeilen zu senken, können wir die von Java 7 verfügbare Files-Klasse verwenden. Die Files-Klasse enthält Methoden, die alle Bytes auf einmal lesen und dann in eine andere Datei kopiert. Hier ist, wie Sie es verwenden können: Herunterladen einer Datei erfordert es, dass Sie es lesen, so oder so müssen Sie die Datei in irgendeiner Weise durchgehen. Anstelle von Zeile für Zeile können Sie es einfach durch Bytes aus dem Stream lesen: Der heruntergeladene Inhalt wird in einem FileOutputStream platziert: Beachten Sie, dass wir die onBodyPartReceived()-Methode überschrieben haben.

Die Standardimplementierung akkumuliert die http-Blöcke, die in einer ArrayList empfangen wurden. Dies kann zu einem hohen Speicherverbrauch oder einer OutOfMemory-Ausnahme führen, wenn Sie versuchen, eine große Datei herunterzuladen. Laden Sie das Dokument “1k_most_common.txt” von der folgenden URL herunter & speichern Sie die Datei: • github.com/DavidWittman/wpxmlrpcbrute/blob/master/wordlists/1000-most-common-passwords.txt. downloadUsingStream: In dieser Methode der Java-Downloaddatei von URL verwenden wir die URL openStream-Methode, um den Eingabestream zu erstellen. Dann verwenden wir einen Dateiausgabestream, um Daten aus dem Eingabestream zu lesen und in die Datei zu schreiben. Hinweis: Der dritte Parameter in transferFrom ist die maximale Anzahl von Bytes, die übertragen werden sollen. Integer.MAX_VALUE wird höchstens 2 bis 31 Bytes übertragen, Long.MAX_VALUE höchstens 2 bis 63 Bytes (größer als jede existierende Datei). Es gibt die Methode U.fetch(url) in der Underscore-Java-Bibliothek.