# HG changeset patch # User Omair Majid # Date 1378917875 14400 # Node ID ff7b684c65ef968b3b19877a685c7aea8a89996d # Parent 3a639bf4c6cef206c72027c8dd0d59816f1fca41 Use appropriate encoding when reading files Reviewed-by: vanaltj Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2013-September/008199.html diff -r 3a639bf4c6ce -r ff7b684c65ef agent/core/src/main/java/com/redhat/thermostat/agent/config/AgentConfigsUtils.java --- 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())); } diff -r 3a639bf4c6ce -r ff7b684c65ef launcher/src/main/java/com/redhat/thermostat/launcher/internal/BuiltInCommandInfoSource.java --- 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. diff -r 3a639bf4c6ce -r ff7b684c65ef system-backend/src/main/java/com/redhat/thermostat/backend/system/EtcOsRelease.java --- 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); - } } }