JavaFX z Arią - powrót do strony głównej

Zapisywanie wyników działania skryptu do pliku

Wynik działania skryptu ze stringu możemy zapisać do pliku.

Klasa E11_WriteScriptResultToFile.java
package jsr223groovy;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.charset.Charset;
import javax.script.ScriptContext;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

public class E11_WriteScriptResultToFile {
	public static void main(String[] args) {

		ScriptEngineManager manager = new ScriptEngineManager();
		ScriptEngine engine = manager.getEngineByName("Groovy");

		File outputFile = new File("src/scripts/skryptout.txt");
		System.out.println("Wynik działania skryptu został zapisany do: " + outputFile.getAbsolutePath());
		FileWriter writer = null;
		try {
			writer = new FileWriter(outputFile, Charset.forName("windows-1250"));
			ScriptContext defaultCtx = engine.getContext();
			defaultCtx.setWriter(writer);
			String script = "println('Jestem Groovy! Uczę się polskiego: ąćęłńóśźż')";
			engine.eval(script);
		} 
		catch (IOException | ScriptException e) {
			e.printStackTrace();
		} 
		finally {
			if (writer != null) {
				try {
					writer.close();
				} 
				catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
}
Plik skryptout.xtx
Jestem Groovy! Uczę się polskiego: ąćęłńóśźż

Po uruchomieniu klasy na konsoli zobaczymy:

Wynik działania skryptu został zapisany do: C:\Users\Jacek\IdeaProjects\jsr223groovy\src\scripts\skryptout.txt
Klasa module-info.java
module jsr223groovy {

    requires org.apache.groovy;

    requires java.scripting;
    requires java.sql;

    exports jsr223groovy;
    opens jsr223groovy;
}