I'm trying to move a file from a local directory to a shared NAS directory. But I'm getting "java.nio.file.AtomicMoveNotSupportedException" exception. Can anyone let me know whether there is another way to do it? Thanks in advance.
Code:
Path path1 = Paths.get("/localdir/tempfile.zip_2021-11-12-12_19_27_0327");
Path path2 = Paths.get("/sharednas/finish/tempfile.zip_2021-11-12-12_19_27_0327");
Files.move(path1, path2, StandardCopyOption.ATOMIC_MOVE);
Exception:
Unable to move zip file back to target directory. Error details {}
java.nio.file.AtomicMoveNotSupportedException: /localdir/tempfile.zip_2021-11-12-12_19_27_0327 -> /sharednas/finish/tempfile.zip_2021-11-12-12_19_27_0327: Invalid cross-device link
at sun.nio.fs.UnixCopyFile.move(UnixCopyFile.java:394) ~[?:1.8.0_312]
at sun.nio.fs.UnixFileSystemProvider.move(UnixFileSystemProvider.java:262) ~[?:1.8.0_312]
at java.nio.file.Files.move(Files.java:1395) ~[?:1.8.0_312]
at com.petproject.movingFiles.util.FileUtils.moveFiles(FileUtils.java:106) [classes!/:?]
at com.petproject.movingFiles.service.MyMain.moveZipFileWithTimeStamp(MyMain.java:298) [classes!/:?]
at com.petproject.movingFiles.Main.moveZipFileToDoneDir(Main.java:148) [classes!/:?]
at com.petproject.movingFiles.Main.processMyFile(Main.java:131) [classes!/:?]
at com.petproject.movingFiles.Main.initialize(Main.java:87) [classes!/:?]
at com.petproject.movingFiles.Main.run(Main.java:78) [classes!/:?]
at org.springframework.boot.SpringMain.callRunner(SpringMain.java:804) [spring-boot-2.4.0.jar!/:2.4.0]
at org.springframework.boot.SpringMain.callRunners(SpringMain.java:788) [spring-boot-2.4.0.jar!/:2.4.0]
at org.springframework.boot.SpringMain.run(SpringMain.java:333) [spring-boot-2.4.0.jar!/:2.4.0]
at org.springframework.boot.SpringMain.run(SpringMain.java:1309) [spring-boot-2.4.0.jar!/:2.4.0]
at org.springframework.boot.SpringMain.run(SpringMain.java:1298) [spring-boot-2.4.0.jar!/:2.4.0]
at com.petproject.movingFiles.Main.main(Main.java:68) [classes!/:?]