# java ftp-library zum synchronisieren



## headgrowe (28. Jul 2011)

hey,

suche eine bibliotek, die gute sync algorithmen hat, um ordner zu synchronisieren
bin jt schon länger am programmieren und verwende bis jt die „org.apache.commons.net.ftp.FTPClient“ bibliothek.
so, hab schon ein paar klassen geschrieben um meine ordner zu synchronisieren, aber ich komm immer auf mehr und mehr konflikte die auftreten könne...(zb. zeichensatz mac und windows, linux.... )
will das rat nicht neu erfinden, dass muss es schon iwo implementiert geben 
danke für die hilfe

headgrowe


----------



## madboy (28. Jul 2011)

Du solltest genauer beschreiben was du tun willst. Was meinst du genau mit "synchronisieren"? Welche Arten von Konflikten können auftreten, welche sollen automatisch wie behandelt werden (wer "gewinnt", wenn ein Konflikt auftritt)? Von wo nach wo willst du synchronisieren? Nur FTP? ...

Wenn die Dateien, die du "synchronisieren" willst unterschiedlich sind, also Konflikte auftreten wird das (beliebig) komplex.

EDIT: wenn du was fertiges verwenden willst, könnte rsync was für dich sein. Alternativ evtl. ein verteiltes Versionskontrollsystem wie GIT, Mercurial, Bazaar, ...


----------



## headgrowe (28. Jul 2011)

ich entwickle sowas wie eine dropbox...
nur das ich diese um erweiterte userrechte (zb. nicht löschen aber verändern) erweitern möchte...
bis jt habe ich einen eigenen algorythmus verwendet... jt wollte ich wissen ob es nicht schon was brauchbares gibt...
eine jar datei die ich einbinde und dann in etwa sage ftpserver.sync(clientDirectory)

brauch keine versionen... das was am neusten ist (lastModified), ist das aktuelle...  dass vereinfacht die konfliktbehandung erheblich... (wenn nun die datei nicht überschrieben werden kann, weil die person die selbe gerade bearbeitet, dann wird eine 2te erstellet, mit verändertem namen)
eigentlich das gleiche wie die dropbox...
meine probs bei meinem eigenen algorythmus sind, dass beim mac das lange „-„ nicht egsistiert, aber bei windows schon... d.h. nicht ganz 100% geht... und sicher noch einige andere komplexe konflikte auftauchen, die ich durch meine banalen junite tests noch nicht gefunden hab...


----------



## nillehammer (29. Jul 2011)

Also bei FTP gibts eigentlich nur ein Problem mit Zeichenzätzen und zwar, wenn man im ASCII-Modus überträgt und von einem Windows auf ein UNIX oder umgekehrt. Dann werden gerne mal die Zeilenumbrüche zerhauen. Das umgeht man, indem man immer im Binärmodus überträgt.



> dass beim mac das lange „-„ nicht egsistiert, aber bei windows schon


Ich hab zwar keinen Mac, aber das kann ich fast nicht glauben. Das hört sich nach Zeichensatzproblemen an. Wenn Du durchgängig UTF-8 verwendest, gibt es bestimmt keine Probleme. Das hat aber nichst mit FTP zu tun, sondern mit der Einstellung der Zeichensätze auf den Rechnern selbst.


----------

