Esta regra sinaliza os seguintes construtores de classe Java que utilizam um java.io.OutputStream e nenhum conjunto de caracteres:
java.io.PrintStreamjava.io.PrintWriterjava.io.OutputStreamWriter
As assinaturas do construtor que usam OutputStream sem os parâmetros Charset padrão para usar a codificação Charset.defaultCharset() .
Isso causará um problema se o OutputStream a ser agrupado for um PrintStream, que mantém seu próprio charset, levando-o a ser ignorado.
Isso é especialmente problemático quando PrintWriter agrupa System.out/err, pois com o JEP400 , o conjunto de caracteres padrão agora é UTF-8 enquanto a E/S padrão permanece em native.encoding.
Como parte dessa mudança, java.io.PrintStream agora define um método charset () para retornar o charset do fluxo de impressão.
Para obter mais informações, consulte JDK-8276970