BabyMitSchnully
Erfahrenes Mitglied
Hi Leute,
ich habe das Gefühl, dass ich gerade absolut blind vom Programmieren geworden bin.
Ich habe einen sehr abgespeckten FTP Client geschrieben. Dieser soll nichts anderes machen, als Verzeichnisse und Dateien vom FTP Server über FTP auslesen.
Dazu habe ich eine Socketverbindung zum FTP Server aufgebaut.
Nachdem ich mich in den Passiv Modus "PASV" begeben habe, rufe ich die Dateiliste für das aktuelle Verzeichnis auf mit "NLST".
Anschließend lese ich wie im folgenden Code zu sehen die Liste aus. Das funktioniert so weit.
Doch wie kann ich jetzt prüfen, ob das was in meinem StringBuffer liegt eine Datei oder ein Verzeichnis ist? Ich kann es nicht in ein "File" verwandeln, wenn ich z.B. Den Umweg über die URL Klasse nehme.
Nun. Was kann ich tun um das ganze hin zu bekomme?
Gruß
Chris
ich habe das Gefühl, dass ich gerade absolut blind vom Programmieren geworden bin.
Ich habe einen sehr abgespeckten FTP Client geschrieben. Dieser soll nichts anderes machen, als Verzeichnisse und Dateien vom FTP Server über FTP auslesen.
Dazu habe ich eine Socketverbindung zum FTP Server aufgebaut.
Nachdem ich mich in den Passiv Modus "PASV" begeben habe, rufe ich die Dateiliste für das aktuelle Verzeichnis auf mit "NLST".
Anschließend lese ich wie im folgenden Code zu sehen die Liste aus. Das funktioniert so weit.
Doch wie kann ich jetzt prüfen, ob das was in meinem StringBuffer liegt eine Datei oder ein Verzeichnis ist? Ich kann es nicht in ein "File" verwandeln, wenn ich z.B. Den Umweg über die URL Klasse nehme.
Code:
public void listenToServer() {
//Listeninhalt
StringBuffer sb = new StringBuffer();
try {
int amount = 1;
while (amount > 0) {
amount = this.in.read();
//Steuercodes umwandeln in CHAR und dem Stringbuffer anfügen.
sb.append((char)amount);
}
}
catch (IOException ioe) {
System.out.println(ioe);
}
this.cleanDataConnection();
System.out.println(sb.toString());
if (this.ftpClient.isListCommand()){
//Die Liste teilen, damit man weiter arbeiten kann.
String test[] = sb.toString().split("\n");
int i = test.length;
for (int n = 2; n < i; n++) {
File file = null;
//Hier muss geprüft werden, ob es eine Datei oder ein Verzeichniss ist.
//System.out.println(test[n] + " : " + file.isDirectory());
}
}
}
Nun. Was kann ich tun um das ganze hin zu bekomme?
Gruß
Chris