Hallo Ute.
ich möchte Dateien mit der Endung *.jpg aus einem Verzeichnis
auf einem Unix-Server mit folgender Syntax suchen (um später
per Zufall eine Datei anzuzeigen):
verzeichnis = http://test123.test.dir:1234/test/test/
Ich habe es damit probiert:
File dir = new File(verzeichnis);
File[] files = dir.listFiles();
Leider funktioniert das nicht. Liegt vielleicht daran, dass es
sozusagen eine web-Adresse ist. Kann mir jemand einen Tipp
geben?
Wenn Du über eine Webadresse ein Verzeichnislisting erhältst,
ist das nichts weiter als eine HTML-Seite mit einer irgendwie
formatierten Liste mit Dateinamen. Wie diese Liste genau
in HTML codiert ist, hängt vom Webserver und Deinen Einstellungen
ab.
Das einzige was Du hier tun kannst, um an die Dateinamen
zu kommen, ist Dir die HTML-Seite mit dem Dateilisting
für Deinen konkreten Fall genau anzusehen und dafür ein
Programm zu schreiben, was aus dem HTML die Dateinamen
herausschnibbelt - keine schöne Arbeit.
Hier mal ein Auszug aus einem vom Apache-Webserver erzeugten
Verzeichnislisting, um einen Eindruck von der Bastelarbeit
zu bekommen, die Dir bevorsteht:
Index of /icons Index of /icons
[Name](?C=N;O=D)
[Last modified](?C=M;O=A)
[Size](?C=S;O=A)
[Description](?C=D;O=A)
[Parent Directory](/)
[a.gif](a.gif) 23-Aug-1999 22:33 246
[a.png](a.png) 30-May-2001 00:54 293
...
Einfacher wird es mit einem direkten Zugriff auf das Dateisystem
des Servers:
(a) **lokaler Dateisystemzugriff**
Wenn Dein Programm auf dem Server selbst läuft,
kannst Du mit Deinem obigen File-Code arbeiten.
(b) **FTP-Zugriff**
Hierbei verbindest Du Dich per FTP auf das Server-Dateisystem.
Dann kannst Du auch fertige Libraries verwenden, die Dir
den Verzeichnisinhalt zurückliefern, siehe z.B.
[http://www.javaworld.com/javaworld/jw-04-2003/jw-040...](http://www.javaworld.com/javaworld/jw-04-2003/jw-0404-ftp-p2.html)
Gruß,
-Andreas.