java.nio.file.Files を使用して String をバイトとして読み取り、または書き込みを行っているメソッド呼び出しを報告します。 このような呼び出しは Java 11 で導入された Files.readString() および Files.writeString() メソッドの呼び出しに置換できます。

例:


  String s = "example";
  Files.write(Paths.get("out.txt"), s.getBytes(StandardCharsets.UTF_8), StandardOpenOption.WRITE);
  s = new String(Files.readAllBytes(Paths.get("in.txt")), StandardCharsets.ISO_8859_1);

クイックフィックス適用後:


  String s = "example";
  Files.writeString(Paths.get("out.txt"), s, StandardOpenOption.WRITE);
  s = Files.readString(Paths.get("in.txt"), StandardCharsets.ISO_8859_1);

無効な (マッピング可能ではない) 文字の処理については、readString() の動作は new String(bytes, charset) の動作と異なることに注意してください。 そのような場合、readString() メソッドは例外をスローしますが、new String(bytes, charset) メソッドは通知なしに無効な文字を置換文字に置換します。 通知なしの置換が望ましい場合、インスペクションの警告を抑止することをお勧めします。

2018.3 の新機能です