Java8のJavaScript実行人のNashornでファイル入出力する方法は以下の通りです。Rhinoの頃とほぼ要領ででいけます。互換性がありながら、実行速度は3倍以上になっているので、かなり良い感じです。

// ファイルの読み込み
function readFile(fname, charset) {
  var Files = java.nio.file.Files;
  var Paths = java.nio.file.Paths;

  var bytes = Files.readAllBytes(Paths.get(fname));
  var text = new java.lang.String(bytes, charset);
  return "" + text;
}

// ファイルへの保存
function writeFile(fname, text, charset) {
  var osw = new java.io.OutputStreamWriter(
    new java.io.FileOutputStream(fname),
    charset);
  osw.write(text, 0, text.length);
  osw.close();
}