Andreas: Dateisenden mit FTP will nicht klappen

Hallo,

ich erzeuge eine XML-Datei, die ich in einem Objekt xml vom Typ Document speichere.

Diese Datei will ich dann auf einem FTP-Server speichern, also dort ablegen.

Wenn ich es stattdessen auf einen lokalen Datenträger speichere (hatte ich zu Testzwecken zuerst versucht) wie im nachfolgenden Beispiel, funktioniert auch alles.

Wenn ich es aber per FTPClient und OutputStream inkl. storeFileStream mache, dann erzeugt er zwar eine Datei auf dem FTP-Server, jedoch hat sie keinen Inhalt (0 Bytes). Wer kann mir helfen?

Hier nun das funktionierende Beispiel mit lokalem Datenträger statt FTP-Server:

...
xml = erzeugeXMLDatei();

File x = new File("c:/temp/name.xml");
FileOutputStream o = new FileOutputStream(x);

OutputFormat format = new OutputFormat(xml);
XMLSerializer output = new XMLSerializer(o, format);
output.serialize(xml);
o.flush();
o.close();
...

Wie muss ich das Beispiel abwandeln, damit ich eine Datei vom Typ Document auf einem FTP-Server ablegen kann?

  1. File x = new File("c:/temp/name.xml");
    FileOutputStream o = new FileOutputStream(x);

    Ähm, ja. Such doch mal nach FTPOutputStream. Da gibt's schon ein, zwei Implementierungen.