title: UTF-8 encoded Java String into Properties
body: <p>I have a single UTF-8 encoded String that is a chain of key + value pairs that is required to be loaded into a Properties object. I noticed I was getting garbled characters with my intial implementation and after a bit of googling I found this <a href="https://stackoverflow.com/questions/863838/problem-with-java-properties-utf8-encoding-in-eclipse">Question</a> which indicated what my problem was - basically that Properties is by default using ISO-8859-1. This implementation looked like</p>
  
  <pre><code>public Properties load(String propertiesString) {
          Properties properties = new Properties();
          try {
              properties.load(new ByteArrayInputStream(propertiesString.getBytes()));
          } catch (IOException e) {
              logger.error(ExceptionUtils.getFullStackTrace(e));
          }
          return properties;
      }
  </code></pre>
  
  <p>No encoding specified, hence my problem. To my question, I can't figure out how to chain / create a <code>Reader</code> / <code>InputStream</code> combination to pass to <code>Properties.load()</code> that uses the provided <code>propertiesString</code> and specifies the encoding. I think this is mostly due to my inexperience in I/O streams and the seemingly vast library of IO utilities in the java.io package.</p>
  
  <p>Any advice appreciated.</p>