「java脚本调用」java脚本app
本篇文章给大家谈谈java脚本调用,以及java脚本app对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Java语言:如何在Java中调用Perl脚本
- 2、Java语言自动化脚本中可以封装多个request然后进行调用?
- 3、java怎么调用shell脚本
- 4、Java调用JS脚本里的方法
- 5、Java线程调用的脚本吧Java关闭了怎么继续执行
- 6、java 调用 shell 脚本
Java语言:如何在Java中调用Perl脚本
import java.io.*;
public class TestExec {
public static void main(String[] args) {
try {
Process p = Runtime.getRuntime().exec("perl script.pl");
BufferedReader in = new BufferedReader(
new InputStreamReader(p.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Java语言自动化脚本中可以封装多个request然后进行调用?
可以。
一个代码可以封装多个resquest进行调用,只是在调用的过程中必须保证方法名称和调用的方式一致。
封装的概念来自对面向对象的编程模式 比如说一个方法,你把他放到一个类里面, 下次如果别的地方要用到的话,直接调用这个方法就行了,不用再重新编写。
java怎么调用shell脚本
String cmdstring = "chmod a+x test.sh";
Process proc = Runtime.getRuntime().exec(cmdstring);
proc.waitFor(); //阻塞,直到上述命令执行完
cmdstring = "bash test.sh"; //这里也可以是ksh等
proc = Runtime.getRuntime().exec(cmdstring);
// 注意下面的操作
string ls_1;
BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(proc.getInputStream());
while ( (ls_1=bufferedReader.readLine()) != null);
bufferedReader.close();
proc.waitFor();
为什么要有上面那段操作呢?
原因是:可执行程序的输出可能会比较多,而运行窗口的输出缓冲区有限,会造成waitFor一直阻塞。解决的办法是,利用Java提供的Process类提供的getInputStream,getErrorStream方法让Java虚拟机截获被调用程序的标准输出、错误输出,在waitfor()命令之前读掉输出缓冲区中的内容。
Java调用JS脚本里的方法
; 本例子使用了JDK 以上的javax script包 通过Invocable接口实现JAVA调用JS脚本里的方法 本例中调用分为内部执行脚本和外部执行脚本 外部执行脚本分为不带参数调用和带参数调用 主要采用invokeFunction方法调用 ObjectinvokeFunction(String name Object… args) 用于调用脚本中定义的顶层程序和函数 ObjectinvokeMethod(Object thiz String name Object… args) 对以前的脚本执行中已经编译的脚本对象(以 ScriptEngine 的状态保持)调用某一方法 package de javase; import javax script Invocable; import javax script ScriptEngineManager; import javax script ScriptEngine; import java io File; import java io Reader; import java io FileReader; public class AjavaInvokingFunction { public static void main(String[] args) { // 获得一个JavaScript脚本引擎 也可以是ECMAScript脚本引擎 ScriptEngineManager manager = new ScriptEngineManager() ScriptEngine engine = manager getEngineByName( JavaScript ) String titlescript = function sayTitle() { + println( 源码实例 使用javax script调用JS脚本里的方法 ) + println( ) + } ; try {
// 调用内部脚本执行 engine eval(titlescript) // 转换为Invocable Invocable invocableEngine = (Invocable) engine; // 不带参数调用sayTitle方法 invocableEngine invokeFunction( sayTitle ) // 调用外部脚本执行 // 创建JS文件的File对象 并读入流 File functionscript = new File( ajava js ) Reader reader = new FileReader(functionscript) // 开始执行ajava js里的程序 engine eval(reader) // 不带参数调用sayHello方法 invocableEngine invokeFunction( sayHello ) // 带参数调用sayHello方法 invocableEngine invokeFunction( sayHello mark ) } catch (Exception e) { e printStackTrace() } } } ajava js文件 function sayHello(){ sayHello(null) } function sayHello(name){ if(name==null){ println( 欢迎你!请注册Ajava会员 ) }else{ println(name+ 独立JAVA社区欢迎你 ) } } 运行结果(控制台) 源码实例 使用javax script调用JS脚本里的方法 lishixinzhi/Article/program/Java/hx/201311/26436
Java线程调用的脚本吧Java关闭了怎么继续执行
调用java的时候不要挂在后台执行就可以了, 如果说你的java程序名叫 Test.class 或者 Test.jar
shell脚本里调用JAVA程序
#!/bin/sh
java Test.class ##或者java -jar Test.jar
stat=`sqlplus .......`
if [ $stat = "**"]
then
nohup sh single1.sh
fi
shell里的命令也是按顺序执行的,java调用没返回的时候是不会继续往下执行的
如果你调用java程序的时候,命令后面带了个 符,则这条命令是在后台执行的,shell会继续执行下一条命令
java 调用 shell 脚本
在写程序时,有时需要在java程序中调用shell脚本,可以通过Runtime的exec方法来调用shell程序,运行脚本。每个Java 应用程序都有一个Runtime 类实例,使应用程序能够与其运行的环境相连接。通过Runtime对象可以返回运行环境的情况,包括CPU数,虚拟机内存大小等,并能够通过exec方法调用执行命令。可以通过getRuntime 方法获取当前Runtime实例。 public boolean ExeShell(){ Runtime rt = Runtime.getRuntime(); try { Process p = rt.exec(checkShellName); if(p.waitFor() != 0) return false; } catch (IOException e) { SysLog.error("没有找到检测脚本"); return false; } catch (InterruptedException e) { e.printStackTrace(); return false; } return true; } 其中p.waitFor()语句用来等待子进程结束,其返回值为进程结束退出码。
java脚本调用的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java脚本app、java脚本调用的信息别忘了在本站进行查找喔。