java 集成 gstreamer java 集成 groovy

发布时间:2023-05-16 09:32:01

第一次接触grovy,主要是嵌入java中的grovy脚本,因为grovy和java的融合非常好。

首先放上第一次写的grovy段:

java 集成 gstreamer java 集成 groovy_System

事实上,它完成的是java的systemm.out操作主要是为了理解binding在groovy中的应用

说说背景,这里的功能是打印日志,最初使用system.out,结果师父为了让我接触grovy,强迫我加脚本

然后我学会了grovy的力量!

首先,java和grovy的结合有几种方式:(首先别忘了加grovy的依赖包!)

1)直接运行grovy脚本(就是我的)

2)grovy脚本在java中动态运行:java加载grovy脚本,然后调用脚本

给个例子:

package groovy;import groovy.lang.GroovyClassLoader;import groovy.lang.GroovyObject;import java.io.File;public class Java2GroovyDynamic {public static void main(String[] args) throws Exception {// TODO Auto-generated method stubClassLoader parent = ClassLoader.getSystemClassLoader();GroovyClassLoader loader = new GroovyClassLoader(parent);Class groovyClass = loader.parseClass(new File("D:\\workspace\\groovy\\src\\groovy\\GroovyDemo.groovy"));GroovyObject groovyObject = (GroovyObject)groovyClass.newInstance();Object[] param = {123,321};int res = (int) groovyObject.invokeMethod("add", param);System.out.println("res="+res);  }}

grovy脚本:

package groovyclass GroovyDemo {static int add(int x,int y) {return x+y;}static main(args) {int z = add(123,321);println("x+y="+z);}}

3)grovy脚本引擎:grovy脚本引擎可以通过设置CLASPATH来初始化,path下的任何grovy脚本文件都可以运行

package groovy;import groovy.lang.Binding;import groovy.util.GroovyScriptEngine;public class Java2GroovyEngine {public static void main(String[] args) throws Exception {// TODO Auto-generated method stubString path = "D:\\workspace\\groovy\\src\\groovy\\";GroovyScriptEngine gse = new GroovyScriptEngine(path);Binding binding = new Binding();binding.setVariable("input", "Groovy");gse.run("Test.groovy", binding);System.out.println(binding.getVariable("output"));}}

grovy脚本:

package groovy;output = "Hello ${input}";

上一篇 java 网页打开doc 打印 javaweb 实现打印功能
下一篇 java 二叉查找树 java实现二叉搜索树

文章素材均来源于网络,如有侵权,请联系管理员删除。

标签: Java教程Java基础Java编程技巧面试题Java面试题