apache commons net ftp bei upload unvollständig

carraway

Mitglied
Hallo Leute,

ich versuche eine gewöhnliche Textdatei auf meinen Webserver per ftp hochzuladen aber die Datei landet immer unvollständig auf meinem Server!

Zunächst mal hier mein Quellcode:
Java:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

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

public class FTPClientTest {

	private static String localFilePath = "E:\\";
	private static String localFileName = "shop_data.txt";
	
	
	protected static void putFile() {
		FTPClient client = new FTPClient();
		File localFile = null;
		FileInputStream fis = null;
		int ch;
		
        try {
            client.connect("ftp.meine-url.de");

            boolean login = client.login("username", "passwort");
          
            if (login) {
                System.out.println("Login success...");
                
                try {
                	localFile = new File(localFilePath+localFileName);
                	fis = new FileInputStream(localFile);
                	
                	//while( (ch = fis.read()) != -1) {
                	//	System.out.print((char)ch);
                	//}
                	                	
                	Boolean store = client.storeFile(localFileName, fis);
                	System.out.println("Antwort: "+client.getReplyString());
                	
                	if (store) {
                		System.out.println("Datei gespeichert!");
                	} else {
                		System.out.println("Datei speichern fehlgeschlagen!");
                	}
                	
                	
	                } catch (FileNotFoundException e) {
	                	  e.printStackTrace();
	                } catch (IOException e) {
	                    e.printStackTrace();
	                } finally {
	                	if (fis != null) fis.close();
	                }
                
                boolean logout = client.logout();
                if (logout) {
                    System.out.println("Logout from FTP server...");
                }
            } else {
                System.out.println("Login fail...");
            }

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                client.disconnect();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
	}

	
	
	public static void main(String[] args) {
		putFile();
    }
}


und hier der Inhalt meiner Test-Textdatei (E:\shop_data.txt):
Code:
Bücher Formulare Schreibblöcke|Bucheinbandfolie|44413117|Buchschutzfolien, selbstklebend|0.79|Transparente, glänzende Polypropylen-Folie zum Einbinden von Büchern, zum Schutz-Kaschieren von Karten etc.|||44413120,44413119,44413118||1|44413117.jpg||1|ST||Connect|Buchfolien;Klebefolien;Bucheinbandfolien;Selbstklebefolie;Selbstklebefolien;Folien;Einbandfolien|0||||1||Größe (B x L):45 cm x 1 m#||0|0|20642||||x
Bücher Formulare Schreibblöcke|Bucheinbandfolie|44413118|Buchschutzfolien, selbstklebend|1.25|Transparente, glänzende Polypropylen-Folie zum Einbinden von Büchern, zum Schutz-Kaschieren von Karten etc.|||44413120,44413119,44413117||1|44413118.jpg||1|ST||Connect|Buchfolien;Klebefolien;Bucheinbandfolien;Selbstklebefolie;Selbstklebefolien;Folien;Einbandfolien|0||||1||Größe (B x L):45 cm x 2 m#||0|0|20643||||x
Bücher Formulare Schreibblöcke|Bucheinbandfolie|44413119|Buchschutzfolien, selbstklebend|1.49|Transparente, glänzende Polypropylen-Folie zum Einbinden von Büchern, zum Schutz-Kaschieren von Karten etc.|||44413120,44413118,44413117||1|44413119.jpg||1|PG||Connect|Buchfolien;Klebefolien;Bucheinbandfolien;Selbstklebefolie;Selbstklebefolien;Folien;Einbandfolien|0||||1||Größe (B x L):45 cm x 3 m#||0|0|20644||||x
Bücher Formulare Schreibblöcke|Bucheinbandfolie|44413120|Buchschutzfolien, selbstklebend|2.09|Transparente, glänzende Polypropylen-Folie zum Einbinden von Büchern, zum Schutz-Kaschieren von Karten etc.|||44413119,44413118,44413117||1|44413120.jpg||1|ST||Connect|Buchfolien;Klebefolien;Bucheinbandfolien;Selbstklebefolie;Selbstklebefolien;Folien;Einbandfolien|0||||1||Größe (B x L):45 cm x 5 m#||0|0|20645||||x

und hier als Beispiel was nach dem Upload noch von der Datei übrig bleibt:
Code:
Bücher Formulare Schreibblöcke|Bucheinbandfolie|44413117|Buchschutzfolien, selbstklebend|0.79|Transparente, glänzende Polypropylen-Folie zum Einbinden von Büchern, zum Schutz-Kaschieren von Karten etc.|||44413120,44413119,44413118||1|44413117.jpg||1|ST||Connect|Buchfolien;Klebefolien;Bucheinbandfolien;Selbstklebefolie;Selbstklebefolien;Folien;Einbandfolien|0||||1||Größe (B x L):45 cm x 1 m#||0|0|20642||||x
Bücher Formulare Schreibblöcke|Bucheinbandfolie|44413118|Buchschutzfolien, selbstklebend|1.25|Transparente, glänzende Polypropylen-Folie zum Einbinden von Büchern, zum Schutz-Kaschieren von Karten etc.|||44413120,44413119,44413117||1|44413118.jpg||1|ST||Connect|Buchfolien;Klebefolien;Bucheinbandfolien;Selbstklebefolie;Selbstklebefolien;Folien;Einbandfolien|0||||1||Größe (B x L):45 cm x 2 m#||0|0|20643||||x
Bücher Formulare Schreibblöcke|Bucheinbandfolie|44413119|Buchschutzfolien, selbstklebend|1.49|Transparente, glänzende Polypropylen-Folie zum Einbinden von Büchern, zum Schutz-Kaschieren von Karten etc.|

Folgender Block des Inhalts der ursprünglichen Datei fehlt einfach am Ende:
Code:
||44413120,44413118,44413117||1|44413119.jpg||1|PG||Connect|Buchfolien;Klebefolien;Bucheinbandfolien;Selbstklebefolie;Selbstklebefolien;Folien;Einbandfolien|0||||1||Größe (B x L):45 cm x 3 m#||0|0|20644||||x
Bücher Formulare Schreibblöcke|Bucheinbandfolie|44413120|Buchschutzfolien, selbstklebend|2.09|Transparente, glänzende Polypropylen-Folie zum Einbinden von Büchern, zum Schutz-Kaschieren von Karten etc.|||44413119,44413118,44413117||1|44413120.jpg||1|ST||Connect|Buchfolien;Klebefolien;Bucheinbandfolien;Selbstklebefolie;Selbstklebefolien;Folien;Einbandfolien|0||||1||Größe (B x L):45 cm x 5 m#||0|0|20645||||x


In meinem Java-Code ist eine auskommentierte while-Schleife, die den FileInputStream der Datei auslesen kann und dort ist der Datei-Inhalt immer komplett!

Direkt danach kommt die storeFile-Methode und die Server-Antwort:
Code:
Antwort: 226 Transfer complete

Wenn ich dann die auf diese Weise hochgeladene Datei mit FileZilla herunterlade und öffne fehlt dann immer das Ende wie oben beschrieben. Ist der Datei-Inhalt zu kurz fehlt der Inhalt auf der Server-Datei komplett!

Hat jemand von euch eine Ahnung woran das liegen könnte und wie man das beheben könnte?

Grüße von einem ratlosen
Carraway
 

Empire Phoenix

Top Contributor
Ist der FTP transfer im binary oder text modus? Weil kann das zufällig sein das dein rechner windows und der server linux ist? und der beim transfer fehlerhaft versucht da irgentwelche zeilenumbrüche ect zu konvertieren?
 

carraway

Mitglied
Ja das kann sein, ich selbst habe Windows 7 am laufen und ich gehe doch sehr stark davon aus, dass die Server meines Providers mit Linux laufen.

Aber den File-Type anzupassen habe ich sogar schon versucht. Unmittelbar vor der storeFile-Methode hatte ich sowohl
Java:
setFileType(client.ASCII_FILE_TYPE)
als auch
Java:
setFileType(client.BINARY_FILE_TYPE)
stehen, aber im Ergebnis war das leider kein Unterschied. :(
 

carraway

Mitglied
Zur Info:

Ich habe eine andere FTP-Lib namens edtftpj 2.2.2 ausprobiert und damit wird die Datei vollständig übertragen.

Zwar gibt es mehrere Warnungen im Eclipse, weil z.B. Vectoren keine Generic-Typbeschreibung haben, aber dennoch funktioniert es.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
1 Upload problem! org.apache.commons.net.ftp Netzwerkprogrammierung 3
Nuiton FTP Apache Commons: FTPClient und Sicherheit Netzwerkprogrammierung 9
N FTP FTP Client invalid IPv6 address (Apache Commons Net API) Netzwerkprogrammierung 6
0 Apache Commons File Object bekommen Netzwerkprogrammierung 4
F Apache commons net SFTPClient Netzwerkprogrammierung 5
M need org.apache.commons.httpclient.* Netzwerkprogrammierung 8
T HTTP Apache Commons HttpClient Bibliothek Netzwerkprogrammierung 2
A org.apache.commons http client in Netbeans einbinden Netzwerkprogrammierung 3
M org.apache.commons.httpclient.HttpClient Netzwerkprogrammierung 3
D HTTP Apache-HttpClient/UNAVAILABLE (java 1.4) Netzwerkprogrammierung 18
G apache httpClient Problem. Netzwerkprogrammierung 5
D Apache Mina Serial: Error Netzwerkprogrammierung 2
M Apache HTTPClient Server log ausgeben ?! Netzwerkprogrammierung 3
N HTTP Apache 4.2.1 HttpClient 302 nach Login und auf den weiteren Seiten. Netzwerkprogrammierung 5
R Apache HttpClient File Download? Netzwerkprogrammierung 3
W HTTP Apache HttpComponents und GZIP Netzwerkprogrammierung 2
D Apache CXF, JAX-WS Problem bei Arrays - einfacher Server Netzwerkprogrammierung 2
M Apache Solr doc & pdf Upload Netzwerkprogrammierung 8
R HTTP Apache HTTP Client: Request mit angehängter Datei Netzwerkprogrammierung 2
R Apache Mina - Hilfestellung Netzwerkprogrammierung 32
D Apache Mina und GWT Servlet Netzwerkprogrammierung 4
N SFTP apache keine Verbindungaufbau möglich Netzwerkprogrammierung 6
K Login via apache httpclient Netzwerkprogrammierung 4
dayaftereh Fragen zu Apache Mina? Netzwerkprogrammierung 5
Kr0e Apache Mina -> await() Netzwerkprogrammierung 30
B Tomcat Apache Server Netzwerkprogrammierung 6
lordcarlos HTTP Apache HttpClient, post und login. Netzwerkprogrammierung 2
J org.apache.http.auth.NTCredentials Netzwerkprogrammierung 2
T Apache HttpClient & Default Headers Netzwerkprogrammierung 9
T apache HTTPClient einloggen Netzwerkprogrammierung 2
Kr0e Apache Mina Problem Netzwerkprogrammierung 2
G apache von außen zugänglich machen Netzwerkprogrammierung 5
Q HTTPS mit Apache HttpClient Netzwerkprogrammierung 4
S Google Search Webservice mit Apache Axis realisieren? Netzwerkprogrammierung 2
I Apache http-client: Problem beim Proxyaufruf Netzwerkprogrammierung 2
S Applet und JWS auf Apache-Axis (SOAP) Netzwerkprogrammierung 8
C HTTPS mit Apache HTTPClient Netzwerkprogrammierung 1
J Antwort eines Soaprequests parsen mittels org.apache.soap Netzwerkprogrammierung 2
B Via Java Datei zu PHP-Script auf Apache hochladen Netzwerkprogrammierung 4
A http request per socket an apache server Netzwerkprogrammierung 5
S FTP Verbindung zu einem BS2000 Großrechner mit Commons Net Netzwerkprogrammierung 0
B FTP commons net verschlüsselte verbindung Netzwerkprogrammierung 11
F FileUpload mit commons HttpClient Netzwerkprogrammierung 17
S Commons Net 2.0 und FTP in meinem Programm Netzwerkprogrammierung 4
A Jakarta Commons HTTPClient: Mehrere Requests gleichzeitig Netzwerkprogrammierung 2
M [Commons NET] Prüfen, ob auf FTP Datei vorhanden ist Netzwerkprogrammierung 2
S Verzeichnis auslesen (FTP Jakarta Commons Net) Netzwerkprogrammierung 2
G Jakarta Net Commons - FTPClient: Problem bei Dateiupload Netzwerkprogrammierung 2
J FTP Upload über Proxy funktioniert nicht Netzwerkprogrammierung 1
D CSV File Upload Netzwerkprogrammierung 5
P nanoHttp upload.html page lädt nicht Netzwerkprogrammierung 4
M HTTP File Upload mit Prozessbar Funktioniert nicht. Netzwerkprogrammierung 8
5 File Upload/ ClassNotFoundException Netzwerkprogrammierung 9
B FTPS Upload Netzwerkprogrammierung 3
M Google Image Upload Netzwerkprogrammierung 12
C HTTP Mediawiki Upload Netzwerkprogrammierung 9
D FTP Pfadangabe für ftp-upload funktioniert nicht Netzwerkprogrammierung 5
R HTTP HttpURLConnection Large File Upload Netzwerkprogrammierung 1
E Applet zum Datei-Upload Netzwerkprogrammierung 3
P Bilder: FTP-Upload funktioniert nicht richtig Netzwerkprogrammierung 2
W HTTP-Upload Netzwerkprogrammierung 2
K Datei-Upload per FTP Netzwerkprogrammierung 2
E Upload großer Dateien? Netzwerkprogrammierung 5
E upload progress bei einem http file post Netzwerkprogrammierung 5
eskimo328 progress bar mit upload speed Netzwerkprogrammierung 19
J Java Programm für Upload von Dateien per HTTP Netzwerkprogrammierung 7
L file upload / download über http Netzwerkprogrammierung 5
J File upload mit ftp Netzwerkprogrammierung 4

Ähnliche Java Themen


Oben