changeset 1251:ff7b684c65ef

Use appropriate encoding when reading files Reviewed-by: vanaltj Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2013-September/008199.html
author Omair Majid <omajid@redhat.com>
date Wed, 11 Sep 2013 12:44:35 -0400
parents 3a639bf4c6ce
children 4afcf1274915
files agent/core/src/main/java/com/redhat/thermostat/agent/config/AgentConfigsUtils.java launcher/src/main/java/com/redhat/thermostat/launcher/internal/BuiltInCommandInfoSource.java system-backend/src/main/java/com/redhat/thermostat/backend/system/EtcOsRelease.java
diffstat 3 files changed, 10 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/agent/core/src/main/java/com/redhat/thermostat/agent/config/AgentConfigsUtils.java	Tue Aug 13 18:17:57 2013 +0200
+++ b/agent/core/src/main/java/com/redhat/thermostat/agent/config/AgentConfigsUtils.java	Wed Sep 11 12:44:35 2013 -0400
@@ -38,8 +38,10 @@
 
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.FileReader;
 import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
 import java.util.Properties;
 
@@ -115,7 +117,7 @@
         if (authFile.canRead() && authFile.isFile()) {
             long length = authFile.length();
             char[] authData = null;
-            try (FileReader reader = new FileReader(authFile)) {
+            try (Reader reader = new InputStreamReader(new FileInputStream(authFile), StandardCharsets.US_ASCII)) {
                 if (length > Integer.MAX_VALUE || length < 0L) {
                     throw new InvalidConfigurationException(t.localize(LocaleResources.FILE_NOT_VALID, authFile.getCanonicalPath()));
                 }
--- a/launcher/src/main/java/com/redhat/thermostat/launcher/internal/BuiltInCommandInfoSource.java	Tue Aug 13 18:17:57 2013 +0200
+++ b/launcher/src/main/java/com/redhat/thermostat/launcher/internal/BuiltInCommandInfoSource.java	Wed Sep 11 12:44:35 2013 -0400
@@ -37,7 +37,7 @@
 package com.redhat.thermostat.launcher.internal;
 
 import java.io.File;
-import java.io.FileReader;
+import java.io.FileInputStream;
 import java.io.FilenameFilter;
 import java.io.IOException;
 import java.util.Collection;
@@ -72,7 +72,7 @@
             for (File file : commandPropertyFiles) {
                 Properties commandProps = new Properties();
                 try {
-                    commandProps.load(new FileReader(file));
+                    commandProps.load(new FileInputStream(file));
                 } catch (IOException ignore) {
                     // This means the command won't work, if it has dependencies it
                     // needs to load.  Also, it will not appear in help listing.
--- a/system-backend/src/main/java/com/redhat/thermostat/backend/system/EtcOsRelease.java	Tue Aug 13 18:17:57 2013 +0200
+++ b/system-backend/src/main/java/com/redhat/thermostat/backend/system/EtcOsRelease.java	Wed Sep 11 12:44:35 2013 -0400
@@ -37,17 +37,13 @@
 package com.redhat.thermostat.backend.system;
 
 import java.io.BufferedReader;
-import java.io.FileReader;
+import java.io.FileInputStream;
 import java.io.IOException;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import com.redhat.thermostat.common.utils.LoggingUtils;
+import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
 
 public class EtcOsRelease implements DistributionInformationSource {
 
-    private static final Logger logger = LoggingUtils.getLogger(EtcOsRelease.class);
-
     private static final String OS_RELEASE = "/etc/os-release";
 
     @Override
@@ -60,18 +56,8 @@
     }
 
     public DistributionInformation getFromOsRelease(String releaseFile) throws IOException {
-        BufferedReader reader = null;
-        try {
-            reader = new BufferedReader(new FileReader(releaseFile));
+        try (BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(releaseFile), StandardCharsets.UTF_8))) {
             return getFromOsRelease(reader);
-        } finally {
-            try {
-                if (reader != null) {
-                    reader.close();
-                }
-            } catch (IOException e) {
-                logger.log(Level.WARNING, "unable to close input stream", e);
-            }
         }
     }