diff --git a/src/java.base/share/classes/java/io/Console.java b/src/java.base/share/classes/java/io/Console.java index 0aa12bdf4c8b5..b062ec4ef5d7f 100644 --- a/src/java.base/share/classes/java/io/Console.java +++ b/src/java.base/share/classes/java/io/Console.java @@ -614,27 +614,12 @@ private static UnsupportedOperationException newUnsupportedOperationException() "Console class itself does not provide implementation"); } - private static native String encoding(); private static final boolean istty = istty(); static final Charset CHARSET; static { - Charset cs = null; - - if (istty) { - String csname = encoding(); - if (csname == null) { - csname = GetPropertyAction.privilegedGetProperty("stdout.encoding"); - } - if (csname != null) { - cs = Charset.forName(csname, null); - } - } - if (cs == null) { - cs = Charset.forName(StaticProperty.nativeEncoding(), - Charset.defaultCharset()); - } - - CHARSET = cs; + CHARSET = Charset.forName(GetPropertyAction.privilegedGetProperty("stdout.encoding"), + Charset.forName(StaticProperty.nativeEncoding(), + Charset.defaultCharset())); cons = instantiateConsole(); diff --git a/src/java.base/unix/native/libjava/Console_md.c b/src/java.base/unix/native/libjava/Console_md.c index e5b760a149972..1e71ab3a6b20a 100644 --- a/src/java.base/unix/native/libjava/Console_md.c +++ b/src/java.base/unix/native/libjava/Console_md.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2024, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -36,9 +36,3 @@ Java_java_io_Console_istty(JNIEnv *env, jclass cls) { return isatty(fileno(stdin)) && isatty(fileno(stdout)); } - -JNIEXPORT jstring JNICALL -Java_java_io_Console_encoding(JNIEnv *env, jclass cls) -{ - return NULL; -} diff --git a/src/java.base/windows/native/libjava/Console_md.c b/src/java.base/windows/native/libjava/Console_md.c index 9423f7d9e318f..f73e62f8e2603 100644 --- a/src/java.base/windows/native/libjava/Console_md.c +++ b/src/java.base/windows/native/libjava/Console_md.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2023, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2024, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -49,17 +49,3 @@ Java_java_io_Console_istty(JNIEnv *env, jclass cls) return JNI_TRUE; } - -JNIEXPORT jstring JNICALL -Java_java_io_Console_encoding(JNIEnv *env, jclass cls) -{ - char buf[64]; - int cp = GetConsoleCP(); - if (cp >= 874 && cp <= 950) - snprintf(buf, sizeof(buf), "ms%d", cp); - else if (cp == 65001) - snprintf(buf, sizeof(buf), "UTF-8"); - else - snprintf(buf, sizeof(buf), "cp%d", cp); - return JNU_NewStringPlatform(env, buf); -}