FTP upload storeFile() will nicht wie es soll

estede

Mitglied
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:

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!!
 
sry ... kann mir schlecht vorstellen das apache commons nicht mitlerweile Java7 kompatibel sind ... solltest dir vllt mal die aktuelle version laden ...

oder was meinst du mit "mit java6 gehts" ? hattest du etwa noch 1.5.0 drauf ?
 
Sorry, dass ich so einen alten verstaubten Thread wieder hervorhole, aber ich glaube, ich habe das selbe oder ein ähnliches Problem.
Funktioniert org.apache.commons nicht mit Java 7 ?
 

Zurück
Oben