Wie kann man eine FTP-Verbindung zu einem Webserver herstellen?

Die Klasse URL bietet Möglichkeiten des Zugriffs nicht nur auf Webseiten, sondern auch auf FTP-Server.

Nach Erstellung eines URL-Objektes wird in der Methode show() mit Hilfe von openStream() ein InputStream erzeugt, dessen Inhalt mit Hilfe eines InputStreamReaders in einen BufferedReader eingelesen wird.
Das gewusst wie liegt hier bei der Form des URL-Strings. Er muss in der Form

<protokoll><benutzername>:<passwort>@<hostname>[/verzeichnis/]

angegeben werden. Wichtig ist beim Aufruf eines Verzeichnisses der '/' hinter dem Verzeichnisnamen.
Also z.B.:

ftp://willi:passwort@javabeginners.de/verzeichnis/

Die Methode readLine() des BufferedReaders gibt mittels einer while-Schleife die Informationen über den Inhalt des aktuellen Verzeichnisses Zeile für Zeile aus.
Exceptions, die durch eine falsche URL oder Eingabe-Ausgabe-Probleme geworfen werden könnten, werden innerhalb eines try-catch-Blockes abgefangen.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;

public class FTPVerbindung {

    public static void main(String[] args) {
        try {
            URL url = new URL("ftp://willi:passwort@javabeginners.de/verzeichnis/");
            show(url);
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private static void show(URL url) throws IOException {
        InputStream in = url.openStream();
        BufferedReader buff = new BufferedReader(new InputStreamReader(in));
        String s;
        while ((s = buff.readLine()) != null) {
            System.out.println(s);
        }
    }
}

Wenn Ihnen javabeginners.de gefällt, freue ich mich über eine Spende an diese gemeinnützigen Organisationen.