変更内容1
OutputStreamWriter、PrintStream、およびPrintWriterで引数にOutputStreamを取り、文字コードを指定しないコンストラクタにおいて、引数のOutputStreamがPrintStreamのインスタンスであった場合、PrintStreamに指定された文字コードが生成されるインスタンスでも使用されるようになります。
非互換1
OutputStreamWriter、PrintStream、およびPrintWriterで引数にOutputStreamを取り、文字コードを指定しないコンストラクタにおいて、引数OutputStreamがPrintStreamのインスタンスである場合、PrintStreamに指定された文字コードが生成されるインスタンスで使用されません。
OutputStreamWriter、PrintStream、およびPrintWriterで引数にOutputStreamを取り、文字コードを指定しないコンストラクタにおいて、引数OutputStreamがPrintStreamのインスタンスである場合、PrintStreamに指定された文字コードが生成されるインスタンスで使用されます。
変更内容2
Charset.defaultCharset()はfile.encodingシステムプロパティで明示的に指定しない限り、既定の文字コードとしてUTF-8を返却するようになりました。
また、System.outおよびSystem.errを除くすべての文字コードを使用するAPIで、Charset.defaultCharset()の文字コードを使用するようになりました。なお、System.outおよびSystem.errはConsole.charset()の文字コードを使用します。
非互換2
Charset.defaultCharset()はプラットフォームに対応する文字コードを返却します。
Charset.defaultCharset()はUTF-8を返却します。
変更内容3
file.encodingシステムプロパティにjava.baseモジュールに含まれない文字コードを指定すると、UTF-8が設定されるようになりました。
非互換3
file.encodingシステムプロパティにjava.baseモジュールに含まれない文字コードを指定した場合、指定した文字コードがfile.encodingシステムプロパティに設定されます。
file.encodingシステムプロパティにjava.baseモジュールに含まれない文字コードを指定した場合、UTF-8がfile.encodingシステムプロパティに設定されます。
対処方法
デフォルトの文字コードをUTF-8/COMPATに変更したい場合は、file.encodingシステムプロパティに使用したい文字コードを指定してください。
なお、file.encodingシステムプロパティにCOMPATを指定することでプラットフォームに対応する文字コードが設定されます。ただし、UTF-8/COMPAT以外は非サポートとなります。