On Wed, 14 Jul 2021 14:55:39 GMT, Roger Riggs <rri...@openjdk.org> wrote:
>> Naoto Sato has updated the pull request with a new target base due to a >> merge or a rebase. The incremental webrev excludes the unrelated changes >> brought in by the merge/rebase. The pull request contains three additional >> commits since the last revision: >> >> - Reflects review comments >> - Merge branch 'master' into JDK-8260265 >> - 8260265: UTF-8 by Default > > src/java.base/share/classes/java/io/Console.java line 587: > >> 585: try { >> 586: cs = Charset.forName(csname); >> 587: } catch (Exception ignored) { } > > A separate enhancement... > I've long thought that should be a way to avoid the exception here. > For example, a Charset.forName(csname, default); > The caller might have a default in mind or supply null and then be able to > test for null. Agreed. Will file an RFE for this. > src/java.base/share/classes/java/io/FileReader.java line 41: > >> 39: * @see InputStreamReader >> 40: * @see FileInputStream >> 41: * @see java.nio.charset.Charset#defaultCharset() > > The @ see duplicates the link above, the javadoc can do without the @ see. If I remove that `@see`, I don't see the link in `See Also` section. Am I missing something? > src/java.base/share/classes/java/lang/System.java line 802: > >> 800: * <tr><th scope="row">{@systemProperty file.encoding}</th> >> 801: * <td>The name of the default charset. Users may specify >> 802: * {@code UTF-8} or {@code COMPAT} on the command line to the >> value. > > The wording could imply that only those two values can be supplied. > It could be rephrased to say that *if* the property is supplied on the > command line > it overrides the default UTF-8. That was intentional. Only those two are supported, others continue to work as before (but not supported). > src/java.base/share/classes/java/nio/charset/Charset.java line 601: > >> 599: * value designates {@code COMPAT}, the default charset is derived >> from >> 600: * the {@code native.encoding} system property, which typically >> depends >> 601: * upon the locale and charset of the underlying operating system. > > The description in java.lang.System of the file.encoding property does not > indicate it is 'implementation specific'. > In that context, it appears to be part of the JavaSE spec. > Having the spec in a single place with references to it from others could > avoid duplication. `file.encoding` is listed under `@implNote` tag in `System.getProperties()`, so it is implementation-specific. ------------- PR: https://git.openjdk.java.net/jdk/pull/4733