PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Dateinamen von Ftp-Ordner auslesen ?



suso
17-11-2006, 21:44
Hey Leute !

Ich bin grad dabei so'n kleines Programm (eigentlich eher ein größeres Projekt :D ) - so ne art "Downloadmanager" zu schreiben ...

-> ich hab jetz ma für Testzwecke ne Methode zum downloaden einzelner Files geschrieben - die sieht so aus :


public void downloadSingleHtmlFIle(final String url,final File f){

Thread t = new Thread(){
public void run(){
try {

URL u = new URL(url);

u.openConnection();
InputStream is = u.openStream();

gatherStuffAboutURLAndPrintItOut(u);

FileOutputStream fos = new FileOutputStream(f);

int len;
byte[] b = new byte[255];
while ((len = is.read(b)) != -1) {
fos.write(b, 0, len);
}

is.close();
fos.flush();
fos.close();

JOptionPane.showMessageDialog(null, "download successful !");

} catch (Exception e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null,e.toString());
JOptionPane.showMessageDialog(null, "download not successful !");
}
}
};
t.start();
}
(keine Angst - so das is nur ne test-Methode - so schlecht is mein Style net ;) )


-> jetz will ich ne Methode entwerfen, bei der man einfach ne ftp-url angibt, und die dann alle Namen der Files am ftp in nen Vector (ich weiß - Vector = Steinzeitwesen unter den Collections - aber ich find's lustig :D ) schreibt ...

-> bis jetz hab ich das :D :

public void downloadFullFtpFolder(final String url, final File folder){
Thread t = new Thread(){
public void run(){
try{
URL u = new URL(url);
u.openConnection();
InputStream is = u.openStream();

Vector files = new Vector();



}catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null,e.toString());
JOptionPane.showMessageDialog(null, "download not successful !");
}
}

};
t.start();
}

-> jemand Ideen wie man das realisieren könnte ?

- macht's euch mal Gedanken drüber wie das geh'n könnt - komm immo. net weiter !

glgreetz
suso

Waxolunist
20-11-2006, 09:28
Du musst ein ftplist command absetzen.

Verwende entweder die Sun-FTP-Klassen:

http://swig.stanford.edu/pub/java/javadoc/sun/net/ftp/FtpClient.html

Da gibts die Methode list.

Oder von Jakarta gibts auch was:

http://jakarta.apache.org/commons/net/

Alles was im org.apache.commons.net.ftp-package zu finden ist.

Willst du allerdings keine vorgefertigten Klassen haben, so schau dir die Jakarta-Implementierung am besten an.

lg, Christian

nul
22-11-2006, 09:44
Kommentar unseres SW4 Uebungsleiter zu Vektor -> Vektor ist keine Liste!
Warum?
Der Klassenname enthaelt nicht das Wort List!
;)