< prev index next >
src/java.base/share/classes/sun/util/PropertyResourceBundleCharset.java
Print this page
rev 49550 : 8201179: Regression due loading java.nio.charset.StandardCharsets during bootstrap
Reviewed-by: sherman
@@ -30,13 +30,15 @@
import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CharsetEncoder;
import java.nio.charset.CoderResult;
import java.nio.charset.CodingErrorAction;
-import java.nio.charset.StandardCharsets;
import java.util.Objects;
+import sun.nio.cs.ISO_8859_1;
+import sun.nio.cs.UTF_8;
+
/**
* A Charset implementation for reading PropertyResourceBundle, in order
* for loading properties files. This first tries to load the properties
* file with UTF-8 encoding). If it fails, then load the file with ISO-8859-1
*/
@@ -68,11 +70,11 @@
throw new UnsupportedOperationException("Encoding is not supported");
}
private final class PropertiesFileDecoder extends CharsetDecoder {
- private CharsetDecoder cdUTF_8 = StandardCharsets.UTF_8.newDecoder()
+ private CharsetDecoder cdUTF_8 = UTF_8.INSTANCE.newDecoder()
.onMalformedInput(CodingErrorAction.REPORT)
.onUnmappableCharacter(CodingErrorAction.REPORT);
private CharsetDecoder cdISO_8859_1 = null;
protected PropertiesFileDecoder(Charset cs,
@@ -96,10 +98,10 @@
// Invalid or unmappable UTF-8 sequence detected.
// Switching to the ISO 8859-1 decorder.
assert cr.isMalformed() || cr.isUnmappable();
in.reset();
out.reset();
- cdISO_8859_1 = StandardCharsets.ISO_8859_1.newDecoder();
+ cdISO_8859_1 = ISO_8859_1.INSTANCE.newDecoder();
return cdISO_8859_1.decode(in, out, false);
}
}
}
< prev index next >