ERLEDIGT
JA
JA
ANTWORTEN
6
6
ZUGRIFFE
796
796
EMPFEHLEN
-
HI,
ich habe folgendes Problem:
Ich verwende den FTPClient 'org.apache.commons.net.ftp.FTPClient'.
Diese Klasse in der der FTPClient definiert ist, macht folgendes:
Es wird überprüft ob auf dem FTP-Arbeitsverzeichnis (Server) Zip-Dateinen vorliegen. Wenn ja werden die Zip-Dateien gedownloadet.
Das Downloaden funktioniert sowiet tadellos.
Ich bekomme dann ein Problem wenn gerade auf das FTP-Arbeitsverzeichnis eine neue Zip-Datei geschrieben wird. Der FTPClient downloadet das Zip, obwohl das Zip gerade geschrieben wird, unvollständig herunter.
Es wird auch keine Exception geworfen.
Wüßte jemand eine Lösung für mein Problem oder einen anderen FTPClient?
Ich bedanke mich im Voraus.
Grüße Steffen
-
Haben die zip files eine mind. größe?n Wenn ja kannst du ein fttpconnection objekt nutzen um die größe abzufragen. Wenn die dann unter der mind. größe ist, darfste net downloaden...
-
Nein die haben keine Mindestgröße.
Auch wenn ich eine Mindestgröße hätte, wäre das Problem ja immer noch da, denke ich.
Kannst du mir sagen warum keine Sperre auf dem File liegt, da es ja gerade geschrieben wird?
-
eventuell musst du ein
durchführen um den upload abzuwarten... uploadest du es mit store oder storefilestream?Code :1
ftp.completePendingCommand()
-
Also ich Uploade noch mit FileZilla zum Testen wie sich der Download verhält.
Der Download wird mit
Code :1 2
out = new FileOutputStream(String); ftp.retrieveFile(FileName, out);
ausgeführt.
-
Ja, das ist doof. Files werden auf dem ftp nicht gesperrt. Stell dir vor, es werden log files (Analyzer o.ä) geschrieben, die werden ständig geschrieben, die könntest du dann ja nie herrunterladen.
Du wirst so keine Möglichkeit haben, zu checken ob die Datei fertig hochgeladen ist, zumindest wenn du einen anderen Prozess als storeFile von Java aus nutzt, Wie auch?
Die einzige Möglichkeit, die mir einfällt ist ganz schön dreckig und wahrscheinlich auch etwas unperformant, aber sie würde gehen.
Bau einfach eine Methode, die solange die größe der entsprechenden Datei checkt, bis sie 2-3 mal hintereinander gleich war. Zwischen dem check läßt du immer 250 ms oder so vergehen.
Wie gesagt, ist eher eine unschöne Vorgehensweise, aber es würde gehen. So etwas in diesem Stil mein ich:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
private void checkFTPFile(){ URLConnection con = null; long size_new = 0; long size_old = 0; long tmp = 0; boolean initialRun = true; int isGleich = 0; while(true){ try { con = new URL("http://www.test.de/testdatei.zip").openConnection(); tmp = con.getContentLength(); if(size_old==0) size_old = tmp; size_new = tmp; if(size_new!=size_old && !initialRun){ size_old = con.getContentLength(); System.out.println("Upload noch nicht fertig --> Warte"); isGleich = 0; try {Thread.sleep(250);} catch (InterruptedException e) {Thread.currentThread().interrupt();}; }else{ if(isGleich!=3) isGleich++; else{ System.out.println("Fertig, gogogo!!"); return; } } initialRun = false; } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
-
Die Idee mit der Prüfung ist super.
Da ich jetzt aber ein neue Kenntis über die Eigenschaften der Dateien auf dem Web-Server habe, werde ich das anderst lösen.
Und zwar, wenn das Zip erstellt wird, endet es erst mit *.zip_temp.
Somit downloadet mein Client diese Datei nicht.
Wenn das Zip vollständig geschrieben wurde änder ich den Namen um in *.zip
und der Download kann anfangen.
Danke schön für die Hilfe und Lösung.
Ähnliche Themen
-
ANT: Probleme beim kopieren von Files mit SCP Task
Von Herr_M im Forum JavaAntworten: 0Letzter Beitrag: 17.08.09, 09:51 -
Probleme beim Erstellen eines pem Files
Von xloouch im Forum Linux & UnixAntworten: 2Letzter Beitrag: 08.07.08, 12:46 -
Probleme beim Einlesen eines Files
Von NiciB im Forum JavaAntworten: 6Letzter Beitrag: 23.04.06, 21:08 -
probleme beim hinzuladen von c4d files
Von karl231 im Forum Cinema 4DAntworten: 3Letzter Beitrag: 14.03.06, 12:17 -
probleme beim einlesen eines xml-Files
Von sirina im Forum Flash PlattformAntworten: 1Letzter Beitrag: 16.06.05, 19:46





Zitieren
Login





