import java.io.File; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.io.Reader; 
import java.net.URL; 

import javax.script.ScriptEngine; 
import javax.script.ScriptEngineManager; 
import javax.script.ScriptException; 

import jdk.nashorn.api.scripting.URLReader; 

public class JI9047468 {
	private static final File SCRIPT_FILE = new File("test.js"); 
	private static final String SCRIPT = "print('test')"; 

	public static void main(String[] args) throws Exception { 
		for (int i = 0; i < 10; i++) { 
			test(); 
		} 

		System.out.println("All swell"); 
	} 

	public static void test() throws Exception { 
		saveFile(SCRIPT_FILE, SCRIPT); 

		ScriptEngineManager manager = new ScriptEngineManager(); 
		ScriptEngine engine = manager.getEngineByExtension("js"); 

		URL scriptURL = SCRIPT_FILE.toURI().toURL(); 
		Reader reader = new URLReader(scriptURL); 
		try { 
			engine.eval(reader); 
		} catch (ScriptException ex) { 
			System.err.println(ex.getMessage()); 
		} finally { 
			reader.close(); 
		} 

		boolean deleted = SCRIPT_FILE.delete(); 

		if (!deleted) { 
			throw new Exception("Failed to delete script file"); 
		} 
	} 

	private static void saveFile(File file, String contents) throws IOException { 
		FileOutputStream out = new FileOutputStream(file); 

		try { 
			out.write(contents.getBytes()); 
		} finally { 
			out.close(); 
		} 
	} 

}
