diff --git a/src/main/java/org/codehaus/plexus/util/BaseFileUtils.java b/src/main/java/org/codehaus/plexus/util/BaseFileUtils.java index f7c7fa52..0a3803d5 100644 --- a/src/main/java/org/codehaus/plexus/util/BaseFileUtils.java +++ b/src/main/java/org/codehaus/plexus/util/BaseFileUtils.java @@ -2,7 +2,9 @@ import java.io.IOException; import java.nio.file.Files; +import java.nio.file.OpenOption; import java.nio.file.Path; +import java.nio.file.StandardOpenOption; /** * Implementation specific to Java SE 8 version. @@ -15,9 +17,9 @@ static String fileRead( Path path, String encoding ) throws IOException return encoding != null ? new String( bytes, encoding ) : new String( bytes ); } - static void fileWrite( Path path, String encoding, String data ) throws IOException + static void fileWrite( Path path, String encoding, String data, OpenOption... openOptions ) throws IOException { byte[] bytes = encoding != null ? data.getBytes( encoding ) : data.getBytes(); - Files.write( path, bytes ); + Files.write( path, bytes, openOptions ); } } diff --git a/src/main/java/org/codehaus/plexus/util/FileUtils.java b/src/main/java/org/codehaus/plexus/util/FileUtils.java index 42999307..e182145e 100644 --- a/src/main/java/org/codehaus/plexus/util/FileUtils.java +++ b/src/main/java/org/codehaus/plexus/util/FileUtils.java @@ -387,18 +387,12 @@ public static void fileAppend( String fileName, String data ) public static void fileAppend( String fileName, String encoding, String data ) throws IOException { - try ( OutputStream out = Files.newOutputStream( Paths.get(fileName), - StandardOpenOption.APPEND, StandardOpenOption.CREATE ) ) - { - if ( encoding != null ) - { - out.write( data.getBytes( encoding ) ); - } - else - { - out.write( data.getBytes() ); - } - } + fileAppend( Paths.get( fileName), encoding, data ); + } + + private static void fileAppend( Path path, String encoding, String data ) throws IOException + { + fileWrite( path, encoding, data, StandardOpenOption.APPEND, StandardOpenOption.CREATE ); } /** diff --git a/src/main/java11/org/codehaus/plexus/util/BaseFileUtils.java b/src/main/java11/org/codehaus/plexus/util/BaseFileUtils.java index 50e46a9e..4204e14e 100644 --- a/src/main/java11/org/codehaus/plexus/util/BaseFileUtils.java +++ b/src/main/java11/org/codehaus/plexus/util/BaseFileUtils.java @@ -3,7 +3,9 @@ import java.io.IOException; import java.nio.charset.Charset; import java.nio.file.Files; +import java.nio.file.OpenOption; import java.nio.file.Path; +import java.nio.file.StandardOpenOption; /** * Implementation specific to Java SE 11 version. @@ -15,15 +17,15 @@ static String fileRead( Path path, String encoding ) throws IOException return encoding != null ? Files.readString( path, Charset.forName( encoding ) ) : Files.readString( path ); } - static void fileWrite( Path path, String encoding, String data ) throws IOException + static void fileWrite( Path path, String encoding, String data, OpenOption... openOptions ) throws IOException { if ( encoding != null ) { - Files.writeString( path, data, Charset.forName( encoding ) ); + Files.writeString( path, data, Charset.forName( encoding ), openOptions ); } else { - Files.writeString( path, data ); + Files.writeString( path, data, openOptions ); } } }