[MPMD-370] Remove remaining uses of FileReader
diff --git a/src/main/java/org/apache/maven/plugins/pmd/ExcludeDuplicationsFromFile.java b/src/main/java/org/apache/maven/plugins/pmd/ExcludeDuplicationsFromFile.java
index fc2be59..ea199a8 100644
--- a/src/main/java/org/apache/maven/plugins/pmd/ExcludeDuplicationsFromFile.java
+++ b/src/main/java/org/apache/maven/plugins/pmd/ExcludeDuplicationsFromFile.java
@@ -18,13 +18,15 @@
  */
 package org.apache.maven.plugins.pmd;
 
-import java.io.FileReader;
 import java.io.IOException;
-import java.io.LineNumberReader;
+import java.nio.file.Files;
+import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 import net.sourceforge.pmd.cpd.Mark;
 import net.sourceforge.pmd.cpd.Match;
@@ -102,13 +104,10 @@
             return;
         }
 
-        try (LineNumberReader reader = new LineNumberReader(new FileReader(excludeFromFailureFile))) {
-            String line;
-            while ((line = reader.readLine()) != null) {
-                if (!line.startsWith("#")) {
-                    exclusionList.add(createSetFromExclusionLine(line));
-                }
-            }
+        try (Stream<String> lines = Files.lines(Paths.get(excludeFromFailureFile))) {
+            exclusionList.addAll(lines.filter(line -> !line.startsWith("#"))
+                    .map(line -> createSetFromExclusionLine(line))
+                    .collect(Collectors.toList()));
         } catch (final IOException e) {
             throw new MojoExecutionException("Cannot load file " + excludeFromFailureFile, e);
         }
diff --git a/src/test/java/org/apache/maven/plugins/pmd/AbstractPmdReportTestCase.java b/src/test/java/org/apache/maven/plugins/pmd/AbstractPmdReportTestCase.java
index fce2159..18a2259 100644
--- a/src/test/java/org/apache/maven/plugins/pmd/AbstractPmdReportTestCase.java
+++ b/src/test/java/org/apache/maven/plugins/pmd/AbstractPmdReportTestCase.java
@@ -134,8 +134,8 @@
     /**
      * Read the contents of the specified file object into a string
      */
-    protected String readFile(File pmdTestDir, String fileName) throws IOException {
-        return new String(Files.readAllBytes(pmdTestDir.toPath().resolve(fileName)));
+    protected String readFile(File file) throws IOException {
+        return new String(Files.readAllBytes(file.toPath()));
     }
 
     /**
diff --git a/src/test/java/org/apache/maven/plugins/pmd/CpdReportTest.java b/src/test/java/org/apache/maven/plugins/pmd/CpdReportTest.java
index 55748a5..b7657bf 100644
--- a/src/test/java/org/apache/maven/plugins/pmd/CpdReportTest.java
+++ b/src/test/java/org/apache/maven/plugins/pmd/CpdReportTest.java
@@ -21,10 +21,7 @@
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 
-import java.io.BufferedReader;
 import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
 import java.util.Locale;
 
 import org.apache.commons.io.FileUtils;
@@ -137,26 +134,6 @@
         }
     }
 
-    /**
-     * Read the contents of the specified file object into a string
-     *
-     * @param file the file to be read
-     * @return a String object that contains the contents of the file
-     * @throws java.io.IOException
-     */
-    private String readFile(File file) throws IOException {
-        String strTmp;
-        StringBuilder str = new StringBuilder((int) file.length());
-        try (BufferedReader in = new BufferedReader(new FileReader(file))) {
-            while ((strTmp = in.readLine()) != null) {
-                str.append(' ');
-                str.append(strTmp);
-            }
-        }
-
-        return str.toString();
-    }
-
     public void testWriteNonHtml() throws Exception {
         generateReport("cpd", "default-configuration/cpd-default-configuration-plugin-config.xml");
 
diff --git a/src/test/java/org/apache/maven/plugins/pmd/PmdReportTest.java b/src/test/java/org/apache/maven/plugins/pmd/PmdReportTest.java
index e3f4b3e..b8ec9c3 100644
--- a/src/test/java/org/apache/maven/plugins/pmd/PmdReportTest.java
+++ b/src/test/java/org/apache/maven/plugins/pmd/PmdReportTest.java
@@ -18,9 +18,7 @@
  */
 package org.apache.maven.plugins.pmd;
 
-import java.io.BufferedReader;
 import java.io.File;
-import java.io.FileReader;
 import java.io.IOException;
 import java.net.ServerSocket;
 import java.net.URL;
@@ -390,26 +388,6 @@
     }
 
     /**
-     * Read the contents of the specified file object into a string
-     *
-     * @param file the file to be read
-     * @return a String object that contains the contents of the file
-     * @throws java.io.IOException
-     */
-    private String readFile(File file) throws IOException {
-        try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
-            final StringBuilder str = new StringBuilder((int) file.length());
-
-            for (String line = reader.readLine(); line != null; line = reader.readLine()) {
-                str.append(' ');
-                str.append(line);
-                str.append('\n');
-            }
-            return str.toString();
-        }
-    }
-
-    /**
      * Verify the correct working of the locationTemp method
      *
      * @throws Exception
diff --git a/src/test/java/org/apache/maven/plugins/pmd/stubs/CustomConfigurationMavenProjectStub.java b/src/test/java/org/apache/maven/plugins/pmd/stubs/CustomConfigurationMavenProjectStub.java
index 93609dc..1d892b7 100644
--- a/src/test/java/org/apache/maven/plugins/pmd/stubs/CustomConfigurationMavenProjectStub.java
+++ b/src/test/java/org/apache/maven/plugins/pmd/stubs/CustomConfigurationMavenProjectStub.java
@@ -19,7 +19,8 @@
 package org.apache.maven.plugins.pmd.stubs;
 
 import java.io.File;
-import java.io.FileReader;
+import java.io.FileInputStream;
+import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -43,12 +44,11 @@
         MavenXpp3Reader pomReader = new MavenXpp3Reader();
         Model model = null;
 
-        try {
-            model = pomReader.read(new FileReader(new File(getBasedir()
-                    + "/src/test/resources/unit/custom-configuration/custom-configuration-plugin-config.xml")));
+        try (InputStream is = new FileInputStream(new File(getBasedir()
+                + "/src/test/resources/unit/custom-configuration/custom-configuration-plugin-config.xml"))) {
+            model = pomReader.read(is);
             setModel(model);
         } catch (Exception e) {
-
         }
 
         setGroupId(model.getGroupId());
diff --git a/src/test/java/org/apache/maven/plugins/pmd/stubs/DefaultConfigurationMavenProjectStub.java b/src/test/java/org/apache/maven/plugins/pmd/stubs/DefaultConfigurationMavenProjectStub.java
index b16da8d..e02a9a8 100644
--- a/src/test/java/org/apache/maven/plugins/pmd/stubs/DefaultConfigurationMavenProjectStub.java
+++ b/src/test/java/org/apache/maven/plugins/pmd/stubs/DefaultConfigurationMavenProjectStub.java
@@ -19,7 +19,8 @@
 package org.apache.maven.plugins.pmd.stubs;
 
 import java.io.File;
-import java.io.FileReader;
+import java.io.FileInputStream;
+import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -43,12 +44,11 @@
         MavenXpp3Reader pomReader = new MavenXpp3Reader();
         Model model = null;
 
-        try (FileReader reader = new FileReader(new File(getBasedir()
+        try (InputStream is = new FileInputStream(new File(getBasedir()
                 + "/src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml"))) {
-            model = pomReader.read(reader);
+            model = pomReader.read(is);
             setModel(model);
         } catch (Exception e) {
-
         }
 
         setGroupId(model.getGroupId());
diff --git a/src/test/java/org/apache/maven/plugins/pmd/stubs/InvalidFormatMavenProjectStub.java b/src/test/java/org/apache/maven/plugins/pmd/stubs/InvalidFormatMavenProjectStub.java
index c08e19c..6e0a86d 100644
--- a/src/test/java/org/apache/maven/plugins/pmd/stubs/InvalidFormatMavenProjectStub.java
+++ b/src/test/java/org/apache/maven/plugins/pmd/stubs/InvalidFormatMavenProjectStub.java
@@ -19,7 +19,8 @@
 package org.apache.maven.plugins.pmd.stubs;
 
 import java.io.File;
-import java.io.FileReader;
+import java.io.FileInputStream;
+import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -40,12 +41,11 @@
         MavenXpp3Reader pomReader = new MavenXpp3Reader();
         Model model = null;
 
-        try {
-            model = pomReader.read(new FileReader(new File(
-                    getBasedir() + "/src/test/resources/unit/invalid-format/invalid-format-plugin-config.xml")));
+        try (InputStream is = new FileInputStream(
+                new File(getBasedir() + "/src/test/resources/unit/invalid-format/invalid-format-plugin-config.xml"))) {
+            model = pomReader.read(is);
             setModel(model);
         } catch (Exception e) {
-
         }
 
         setGroupId(model.getGroupId());