Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8167648

java.io.PrintWriter should have PrintWriter((String|File), Charset) constructors

    XMLWordPrintable

Details

    • generic
    • generic

    Description

      A DESCRIPTION OF THE REQUEST :
      Currently when constructing a java.io.PrintWriter, the charset can only be specified by String. This means two things:
      1) I have to catch, or deal with, UnsupportedEncodingException being thrown, and
      2) I cannot use the java.nio.charset.StandardCharsets constants to specify the character set that I want to use.

      Of course there should be two new constructors:
      java.io.PrintWriter.PrintWriter(File, Charset)
      java.io.PrintWriter.PrintWriter(String, Charset)

      JUSTIFICATION :
      Given that I suspect a large portion of the users of this class will just want to write UTF-8, then adding these constructor overloads would make the code simpler. So, instead of:

      try {
        new PrintWriter(file, "UTF-8");
      } catch (UnsupportedEncodingException e) {
        // Ignore, this is required to be supported by the JVM.
      }

      we could write:

      new PrintWriter(file, StandardCharsets.UTF_8);

      Which gets rid of the boilerplate code to deal with the exception that can never happen.

      The effort to implement should be relatively minimal, as the internal constructor already expects a Charset.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      That these constructors are added.
      ACTUAL -
      These constructors have not yet been added.

      ---------- BEGIN SOURCE ----------
      import java.io.FileNotFoundException;
      import java.nio.charset.StandardCharsets;
      import java.io.PrintWriter;

      public class Test {
        public static int main(String []) {
          try {
            new PrintWriter("test", StandardCharsets.UTF_8);
          } catch (FileNotFoundException e) {
            // don't mind dealing with this, since it is a real thing
          }
        }
      }

      ---------- END SOURCE ----------

      Attachments

        Issue Links

          Activity

            People

              joehw Joe Wang
              webbuggrp Webbug Group
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: