static File copyFile(File src, File dest) ctex { File destDir = dest.getAbsoluteFile().getParentFile(); if (destDir != null) destDir.mkdirs(); File tempFile = new File(dest.getPath() + "_temp"); FileInputStream inputStream = new FileInputStream(src.getPath()); FileOutputStream outputStream = newFileOutputStream(tempFile.getPath()); try { copyStream(inputStream, outputStream); inputStream.close(); } finally { outputStream.close(); } try { java.nio.file.Files.move(tempFile.toPath(), dest.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING, java.nio.file.StandardCopyOption.ATOMIC_MOVE); } catch (java.nio.file.AtomicMoveNotSupportedException e) { java.nio.file.Files.move(tempFile.toPath(), dest.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING); } ret dest; }