Wie kann ich vom ftp Dateien auflisten
-
Hallo,
ich habe mir gerade einen ftp client geschrieben. alle läuft wunderbar wenn ich genau mit einer datei arbeite von der ich auch den namen weiß. ich möchte aber dass mein ftp client alle dateien auflistet und diese mit der bestimmten endung zb. .txt runterlädt. Ich benutze java.net.. Das Objekt FtpClient hat leider nur die funktion list(). Die mir alles über den aktuellen ordner auflistet. gibt es nicht eine lösung wie ich mir nur alle dateien auflisten kann oder noch besser einen befehl mit dem ich direkt ohne auflisten alle dateien mit endung *.txt runterladen kann.
für jede hilfe bin ich dankbar
-
FTP benutzt doch Klartext-Befehle...
Da gibt es das Kommado "LIST" daß Du einfach schicken könntest...
-
Hallo, das ist mir schon klar. Ich habe oben auch geschrieben dass ich die list funktion in dem objet java.net.ftpclient habe. Das problem ist aber nur dieses dass mir diese methode komplett auch alle ordner auflistet. Darauf kommt es mir eigentlich auch nicht so stark an wenn man das problem anders lösen könnte. ich will halt alle dateien mit der endung txt vom ftp runterladen.
-
Mit "mget" kann man mehrere Dateien von einem FTP-Server runterladen.
Als Platzhalter sind '*' und '?' zulässig.In deinem Fall würde das Kommando also "mget *.txt" heißen.
Allerdings wird dann für jede Datei nachgefragt, ob sie wirklich übertragen werden soll (Wahlmöglichkeiten: "Yes", "No" oder "Continue").
Um dieses Nachfragen abzustellen musst du vorher den Befehl "prompt" senden.MfG
-
Hi, danke für den tipp, aber das object java.net.ftpclient hat kein mget() sonder nur ein get(). Was soll ich dann machen. außerdem kann ich kein prompt schicken. wie soll das mit dem object gehen?
-
Mal 'ne Frage: wo hast du diese FTP-Klasse eigentlich her? Denn in der Standard-API hab ich diese Klasse nicht gefunden.
Benutzt du zufällig diese Klasse:http://www.enterprisedt.com/downloads/ftp/doc/com/enterprisedt/net/ftp/FTPClient.html
?
Wenn ja, dann könntest du es ja so machen, dass du dir mittels der Methode dir() alle Dateinamen im aktuellen Verzeichnis holst und dann das String-Array mit den Dateinamen durchläufst und für jeden Eintrag prüfst, ob es eine txt-Datei ist (z.B. mittels der endsWith()-Methode der Klasse String). Falls der aktuelle Eintrag eine txt-Datei ist, holst du sie halt mit einer get() Methode...
MfG