From 89c1744fd337ac24f807e4cde5bfd4b1ecc4491a Mon Sep 17 00:00:00 2001 From: Reinhard Pointner Date: Wed, 19 Mar 2014 19:09:10 +0000 Subject: [PATCH] * remove some Java 6 compatibility hacks --- .../net/sourceforge/tuned/FileUtilities.java | 25 +++++-------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/source/net/sourceforge/tuned/FileUtilities.java b/source/net/sourceforge/tuned/FileUtilities.java index b0465d27..ebc09684 100644 --- a/source/net/sourceforge/tuned/FileUtilities.java +++ b/source/net/sourceforge/tuned/FileUtilities.java @@ -14,6 +14,7 @@ import java.io.StringWriter; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; import java.nio.charset.Charset; +import java.nio.file.AtomicMoveNotSupportedException; import java.nio.file.StandardCopyOption; import java.util.ArrayList; import java.util.Collection; @@ -50,21 +51,11 @@ public final class FileUtilities { // move folder org.apache.commons.io.FileUtils.moveDirectory(source, destination); } else { - // move file + // on Windows ATOMIC_MOVE allows us to rename files even if only lower/upper-case changes (without ATOMIC_MOVE the operation would be ignored) try { - // * On Windows ATOMIC_MOVE allows us to rename files even if only lower/upper-case changes (without ATOMIC_MOVE the operation would be ignored) - try { - java.nio.file.Files.move(source.toPath(), destination.toPath(), StandardCopyOption.REPLACE_EXISTING, StandardCopyOption.ATOMIC_MOVE); - } catch (IOException e) { - // HACK to keep things working on Java 6 - if (e.getClass().getName().contains("AtomicMoveNotSupported")) { - java.nio.file.Files.move(source.toPath(), destination.toPath(), StandardCopyOption.REPLACE_EXISTING); - } else { - throw e; - } - } - } catch (LinkageError e) { - org.apache.commons.io.FileUtils.moveFile(source, destination); // use "copy and delete" as fallback if standard rename fails + java.nio.file.Files.move(source.toPath(), destination.toPath(), StandardCopyOption.REPLACE_EXISTING, StandardCopyOption.ATOMIC_MOVE); + } catch (AtomicMoveNotSupportedException e) { + java.nio.file.Files.move(source.toPath(), destination.toPath(), StandardCopyOption.REPLACE_EXISTING); } } @@ -80,11 +71,7 @@ public final class FileUtilities { org.apache.commons.io.FileUtils.copyDirectory(source, destination); } else { // copy file - try { - java.nio.file.Files.copy(source.toPath(), destination.toPath(), StandardCopyOption.REPLACE_EXISTING); - } catch (LinkageError e) { - org.apache.commons.io.FileUtils.copyFile(source, destination); - } + java.nio.file.Files.copy(source.toPath(), destination.toPath(), StandardCopyOption.REPLACE_EXISTING); } return destination;