Jsync

Pure Java library (8, 11, 17, 21, 25, etc.) for providing rsync-like efficient file synchronization between two directories or files either locally or remotely via SSH/SFTP. Requires no native dependencies, works on all major platforms including Windows, and requires no special executables present on the remote system.