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();
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();