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.i😵utputStreamWriter.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.i😵utputStreamWriter.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!!