This failing for me because I don't have write access to the root directory of the FTP server. I think the FTP client needs to change into the destination directory first using something like,
```java
ftp.changeDirectory(dst.getPath());
```
Including this would also render the call to rename() below obsolete.