출력 스트림이 PrintStream인 경우 기본 문자 세트 사용 안함

이 규칙은 java.io.OutputStream 을 사용하고 문자 세트를 사용하지 않는 다음 Java 클래스 생성자를 플래그 지정합니다.

Charset 매개변수 없이 OutputStream 을 사용하는 생성자 서명은 기본적으로 Charset.defaultCharset() 인코딩을 사용합니다. 이로 인해 랩핑할 OutputStream 이 자체 문자 세트를 보유하는 PrintStream인 경우 문제가 발생하여 무시됩니다. 이는 PrintWriter 가 System.out/err을 랩핑할 때 특히 문제가 됩니다. JEP400 에서 기본 문자 세트는 이제 UTF-8 이지만 표준 I/O는 native.encoding에 남아 있기 때문입니다.

이 변경의 일부로 java.io.PrintStream 은 이제 인쇄 스트림의 문자 세트를 리턴하도록 charset () 메소드를 정의합니다.

자세한 정보는 JDK-8276970 을 참조하십시오.