Since the source and the destination are on different file systems a simple rename is not possible. The documentation for the renameTo
method states:
Many aspects of the behavior of this method are inherently platform-dependent: The rename operation might not be able to move a file from one filesystem to another, it might not be atomic, and it might not succeed if a file with the destination abstract pathname already exists. The return value should always be checked to make sure that the rename operation was successful.
To solve this, copy the file to the new place and delete it from the old.