So übertragen Sie eine Datei aus url, ftp mit java?
Erhält eine url, die ich will, um die übertragung der Datei in die url zu einem bestimmten ftp.
Ich habe zwei Optionen:
1) die Verwendung der externen Bibliothek (wie apache-common-io -), kann ich das abrufen der Datei von der url und dann laden Sie Sie auf den ftp.
2) Öffnen Sie zwei buchsen (an die url ein, um die ftp -) - und übertragen Sie einfach die Datei von der url zu dem ftp.
Ich bin ich Recht zu haben?
Was ist der beste Weg, das zu tun?
Bin ich mit Frühling.
Hier sind einige links, die ich gefunden darüber:
Wie zum download und speichern einer Datei aus dem Internet mit Hilfe von Java?.
Hier ist die apache common-io-Bibliothek
Bearbeiten:
Ich bin den Umgang mit 100-200M-Dateien.
Update:
Ich wähle zunächst die Datei herunterladen und dann laden Sie Sie.
Ich wählen, um dies zu tun, da ich nicht erwarte, dass viele Probleme beim herunterladen der Datei, aber ich erwarte Probleme mit dem hochladen der Datei auf den FTP-server. Also, ich denke, das error handling wird besser so.
Der Mangel dieser Lösung ist die Tatsache, dass ich die Speicherung der temporären Datei in der Festplatte.
Ich werde später zu aktualisieren, wenn ich werde einige Probleme.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Würden verlangen, dass Sie Lesen Sie die gesamte referenzierte Datei von der URL, bevor Sie es zu senden, den ftp-server. Wenn die Datei wirklich groß ist, können Sie brauchen, um es zu schreiben in eine temporäre Datei beim Lesen aus dem URL-Verbindung, dann Lesen Sie aus der temporären Datei beim senden an den FTP-server. Mit dieser Methode halten die Lesung aus der URL und schreiben auf dem FTP-server trennen, die Sie behandeln können die Fehler getrennt. Zum Beispiel, wenn die URL-connection exceptions wirft, die Sie behandeln können, dass Sie entsprechend, und vielleicht wiederholen Sie die Anfrage. Sie können sicherstellen, dass Sie die komplette Datei, bevor eine Kommunikation mit dem FTP-server versucht wird.
Können Sie dies tun, wenn Sie festgestellt haben, die input-und output-streams und bereit sind, Sie zu Lesen und in Sie schreiben. Das heißt, Sie haben bereits alles getan, was in das Protokoll stull, und auf dem FTP-server, das bedeutet, erzählen Sie, dass Sie möchten, um eine Datei hochzuladen, wo Sie wollen, um es hochladen, und was der name der Datei ist. Dann können Sie Lesen einfach aus der URL-input-stream-und write-block auf dem FTP-output-stream. Denn diese übertragen, wenn die Kommunikation zwischen Ihnen und dem webserver, oder Sie und der FTP-server wird unterbrochen. Sie werden wahrscheinlich haben, um neu zu starten, alles von Anfang an.
So oder so ist akzeptabel.
1. Offen gesagt das Sprechen, Wenn Sie mit Open-Source, dann nehmen Sie den Vorteil von Externen Bibliotheken.
2. Nicht das Rad neu erfinden,, haben Sie die vertrauenswürdigen Bibliotheken zur Verfügung, so verwenden Sie es.
Bin ich auch anbringen meinem Programm, die ich verwendet, um upload-und download-song zu
ftp server
mit derapache's common lib
Hochladen :
Geladen werden muss: