Hallo,
habe versuche schon seit Tagen per Java Dateien auf einen FTP hochzuladen. weiß aber langsam nicht mehr so recht weiter :-(. Ich kann mich mit dem Server connecten, ich kann mich einloggen, aber bei der Funktion 'FTPClient.storeFile(String remote, File fileToUpload) ' endet das Programm jedesmal in einer Exception. Ich verzweifle daran bald, will das unbedingt hinbekommen. IDE ist eclipse.
Hier der Code:
und hier das was bei rauskommt:
Datei existiert: true
Mit dem Server s**********.dyndns.org verbunden
Login von ***** erfolgreich
Received Reply from FTP Connection:200
Connected Success
Exception has been throwed, the Stack trace is:
java.net.SocketException: Software caused connection abort: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at sun.nio.cs.StreamEncoder.writeBytes(Unknown Source)
at sun.nio.cs.StreamEncoder.implFlushBuffer(Unknown Source)
at sun.nio.cs.StreamEncoder.implFlush(Unknown Source)
at sun.nio.cs.StreamEncoder.flush(Unknown Source)
at java.iutputStreamWriter.flush(Unknown Source)
at java.io.BufferedWriter.flush(Unknown Source)
at org.apache.commons.net.ftp.FTP.__send(FTP.java:501)
at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:475)
at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:552)
at org.apache.commons.net.ftp.FTP.port(FTP.java:877)
at org.apache.commons.net.ftp.FTPClient._openDataConnection_(FTPClient.java:709)
at org.apache.commons.net.ftp.FTPClient._storeFile(FTPClient.java:565)
at org.apache.commons.net.ftp.FTPClient.__storeFile(FTPClient.java:557)
at org.apache.commons.net.ftp.FTPClient.storeFile(FTPClient.java:1795)
at Ftp_Upload.upload(Ftp_Upload.java:26)
at MainTest.main(MainTest.java:5)
Danke schonmal!!
habe versuche schon seit Tagen per Java Dateien auf einen FTP hochzuladen. weiß aber langsam nicht mehr so recht weiter :-(. Ich kann mich mit dem Server connecten, ich kann mich einloggen, aber bei der Funktion 'FTPClient.storeFile(String remote, File fileToUpload) ' endet das Programm jedesmal in einer Exception. Ich verzweifle daran bald, will das unbedingt hinbekommen. IDE ist eclipse.
Hier der Code:
Java:
import java.io.File;
import java.io.FileInputStream;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
class Ftp_Upload {
public static void upload (File uploadDatei, String host, String user,String psw ) {
FTPClient client = null;
if(uploadDatei.exists()) {
try {
client = new FTPClient();
System.out.println("Datei existiert: " + uploadDatei.exists());
client.connect(host);
if(client.isConnected()) {System.out.println("Mit dem Server "+ host + " verbunden");}
else {System.out.println("Fehler beim Verbinden mit Server " + host);}
if(client.login(user, psw)) {System.out.println("Login von " + user + " erfolgreich");}
else {System.out.println("Fehler beim Login des Users " + user);}
client.setFileType(FTP.BINARY_FILE_TYPE);
int reply = client.getReplyCode();
System.out.println("Received Reply from FTP Connection:" + reply);
if(FTPReply.isPositiveCompletion(reply)){
System.out.println("Connected Success");
}
//Diese Zeile bereitet Mir Sorgen:
//*************************************************************************
/**/client.storeFile("testFile.txt", new FileInputStream(uploadDatei));/**/
//*************************************************************************
}
catch(Exception e) {
System.out.println("Exception has been throwed, the Stack trace is:");
System.out.println();
e.printStackTrace();
}
// finally {
// try {
// if(client.logout()) {System.out.println("Logged out user " + user + "from " + host);}
// client.disconnect();
// }
// catch (Exception e) {System.out.println("Exception in finally-Block");}
//
// }
}
else {System.out.println("angegebene Datei existiert nicht");}
}
}
und hier das was bei rauskommt:
Datei existiert: true
Mit dem Server s**********.dyndns.org verbunden
Login von ***** erfolgreich
Received Reply from FTP Connection:200
Connected Success
Exception has been throwed, the Stack trace is:
java.net.SocketException: Software caused connection abort: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at sun.nio.cs.StreamEncoder.writeBytes(Unknown Source)
at sun.nio.cs.StreamEncoder.implFlushBuffer(Unknown Source)
at sun.nio.cs.StreamEncoder.implFlush(Unknown Source)
at sun.nio.cs.StreamEncoder.flush(Unknown Source)
at java.iutputStreamWriter.flush(Unknown Source)
at java.io.BufferedWriter.flush(Unknown Source)
at org.apache.commons.net.ftp.FTP.__send(FTP.java:501)
at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:475)
at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:552)
at org.apache.commons.net.ftp.FTP.port(FTP.java:877)
at org.apache.commons.net.ftp.FTPClient._openDataConnection_(FTPClient.java:709)
at org.apache.commons.net.ftp.FTPClient._storeFile(FTPClient.java:565)
at org.apache.commons.net.ftp.FTPClient.__storeFile(FTPClient.java:557)
at org.apache.commons.net.ftp.FTPClient.storeFile(FTPClient.java:1795)
at Ftp_Upload.upload(Ftp_Upload.java:26)
at MainTest.main(MainTest.java:5)
Danke schonmal!!