commons.net FTPClient TransferMode auf binary ändern

freeplayer

Grünschnabel
Hallo Leute,

Ich habe ein Problem mit meinem FTPClient.
Mein Programm basiert auf der jakarta commons.net Bibliothek

Ich versuche zip-Archive von einem FTP-Server abzurufen, allerdings sind diese nach dem Transfer beschädigt.
Die Ursache hierfür kenne ich auch schon, denn ich transferiere die Daten im ASCII-Mode und es ist notwendig die Datei binär zu übertragen.

Da ich Java-Neuling bin, liegt es vermutlich an meiner Unwissenheit, dass ich es nicht hinbekomme den Mode zu "switchen", die commons.net.ftp.*-Bibliothek bietet nämlich laut javadoc ausdrücklich die Funktion, den Mode zu wechseln.

client.setFileTransferMode(FTP.BINARY_FILE_TYPE);

ist die Methode der FTPClient-Class, die dieses möglich machen soll.

Allerdings bekomme ich immer folgende Fehlermeldung:

"501 'MODE I' unrecognized transfer mode."


Kann mir vielleicht jemand einen Tipp geben, was ich falsch mache?

Danke schonmal.


Auszug aus dem Quellcode:

##############################################################

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.StringWriter;

import org.apache.commons.net.ftp.*;



public class FileTransfer {

public boolean status1=true;
private String server="xxxxxx";
private String username="xxxxx";
private String password="xxx";
private String folder="/";

public StringWriter transfer_files() throws IOException{

StringWriter str_transferedFiles=new StringWriter();
folder="/";

status1=true;
FTPClient ftp = new FTPClient();


ftp.connect( server );
ftp.login( username, password );


System.out.print(ftp.getReplyString());



ftp.changeWorkingDirectory( folder );

ftp.setFileTransferMode(FTP.BINARY_FILE_TYPE);
System.out.print(ftp.getReplyString());




System.out.println("Connected to "+server+".");

System.out.print(ftp.getReplyString());

FileOutputStream fos=null;

for (int i=1;i<=8;i++){

[...]
ftp.retrieveFile( r_file, fos );

[...]



}


fos.close();
// Logout from the FTP Server and disconnect
ftp.logout();
ftp.disconnect();
 
Oah man, da sitz ich und probiere rum ;)

Und jetzt wo ich geftragt hab, hab ichs doch noch selber hinbekommen ;)

Naja man lernt immer dazu ;)


Ich hab die falsche Methode aufgerufen, wieso ka ;)

die richitge ist:


ftp.type(FTP.BINARY_FILE_TYPE);



tjo...naja jetzt gehts ;)
 
Zurück