RFR: 8361972: Clarify the condition of System.console() about standard input/output

Justin Lu jlu at openjdk.org
Mon Jul 14 21:02:39 UTC 2025


On Mon, 14 Jul 2025 17:15:57 GMT, Naoto Sato <naoto at openjdk.org> wrote:

> This accompanies the fix for [JDK-8361613](https://bugs.openjdk.org/browse/JDK-8361613), which restricts `System.console()` to return a `Console` instance only when both standard input and output are connected to a terminal. The change here is solely a specification clarification and tightening of the `java.io.Console` javadoc to reflect this behavior. We are separating the spec clarification because the fix itself may be backported to prior LTS releases without requiring a Maintenance Review process.

src/java.base/share/classes/java/io/Console.java line 47:

> 45:  * output streams then its console will exist and will typically be
> 46:  * connected to the keyboard and display from which the virtual machine
> 47:  * was launched.  If the virtual machine is started automatically, for

I think it might read easier if we reword the structure of the sentence to make it more concise.

E.g.

> The virtual machine may not have a console if started automatically, (e.g., by a background scheduler) or if either the standard input or output has been redirected.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/26299#discussion_r2205817651


More information about the core-libs-dev mailing list