精华内容
下载资源
问答
  • Java写脚本,常用的一些方法

    万次阅读 2016-04-15 19:22:40
    Java写脚本,常用的一些方法平时用的一些小方法,总结之1.运行一个可执行程序比如,你如果想运行如下命令 C://test//aapt.exe -f params1 -M params2 try { ProcessBuilder pb = new ProcessBuilder("C://test//...

    用Java写脚本,常用的一些方法

    平时用的一些小方法,总结之

    1.运行一个可执行程序

    比如,你如果想运行如下命令

    C://test//aapt.exe -f params1 -M params2
    

    try {
            ProcessBuilder pb = new ProcessBuilder("C://test//aapt.exe","-f","params1","-M","params2");
            pb.redirectErrorStream(true);
            Process process = pb.start();
            InputStream inputStream = process.getInputStream();
            BufferedReader bufferedReader = new BufferedReader(
                    new InputStreamReader(inputStream));
            String line = "";
            while ((line = bufferedReader.readLine()) != null) {
                System.out.println(INFO + line);
            }
            int exit = process.waitFor();
            if (exit == 0) {
                System.out.println("finished...");
            } else {
                System.out.println("error...");
            }
        } catch (Exception e) {
            e.printStackTrace();
            System.exit(-1);
        }
    


    注意:
    1.调用ProcessBuilder的start()方法,开始执行命令。
    2.通过process.getInputStream,把执行命令过程中的日志打印出来。
    3.通过调用process.waitFor(),阻塞当前线程,直到命令执行完毕后,获得返回码

    2.获取当前Class在运行时的路径(亦适用于jar)

    比如,获取TestMain这个类在运行时的路径。

    URL location = TestMain.class.getProtectionDomain().getCodeSource()
                .getLocation();
    String path = location.getFile();
    

    3.获取系统的环境变量

    比如,获取系统的JAVA_HOME这个环境变量的值

    String path = System.getenv("JAVA_HOME");
    

    4.删除目录

    public static boolean deleteDirectory(File directory) {
        if (directory.exists()) {
            File[] files = directory.listFiles();
            if (null != files) {
                for (int i = 0; i < files.length; i++) {
                    if (files[i].isDirectory()) {
                        deleteDirectory(files[i]);
                    } else {
                        files[i].delete();
                    }
                }
            }
        }
        return (directory.delete());
    }
    

    5.读写文件

    /**
     * 写文件
     *
     * @param filePath
     * @param sets
     * @throws IOException
     */
    public synchronized void writeFile(String filePath, String content)
            throws IOException {
        FileWriter fw = new FileWriter(filePath);
        PrintWriter out = new PrintWriter(fw);
        out.write(content);
        out.println();
        fw.close();
        out.close();
    }
    
    /**
     * 读文件
     *
     * @param filename
     * @return
     */
    public static String readFile(String filepath) {
        File file = new File(filepath);
        InputStream inputStream = null;
        BufferedReader bufferedReader = null;
        try {
            inputStream = new FileInputStream(file);
            String content = "";
            if (inputStream != null) {
                bufferedReader = new BufferedReader(new InputStreamReader(
                        inputStream));
                String line = "";
                while ((line = bufferedReader.readLine()) != null) {
                    content += line;
                }
            }
            return content;
        } catch (Exception e) {
            System.out.println(e.toString());
        } finally {
            try {
                if (bufferedReader != null) {
                    bufferedReader.close();
                    bufferedReader = null;
                }
                if (inputStream != null) {
                    inputStream.close();
                    inputStream = null;
                }
            } catch (Exception e) {
                System.out.println(e.toString());
            }
        }
    
        return null;
    }
    
    public static byte[] readByte(final InputStream in) throws IOException {
        ByteArrayOutputStream output = null;
        try {
            if (in == null) {
                return null;
            }
            output = new ByteArrayOutputStream(1024 * 2);
            byte[] buffer = new byte[1024];
            int len;
            while ((len = in.read(buffer)) != -1) {
                output.write(buffer, 0, len);
            }
            return output.toByteArray();
        } finally {
            if (output != null) {
                try {
                    output.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (in != null) {
                try {
                    in.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    
    public static boolean saveObject(Serializable serializable,
            String filePath) {
        try {
            FileOutputStream fout = new FileOutputStream(filePath);
            ObjectOutputStream oos = new ObjectOutputStream(fout);
            oos.writeObject(serializable);
            oos.close();
            return true;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }
    

    6.TODO

    展开全文
  • java脚本

    千次阅读 2017-09-19 21:12:50
    Java脚本语言就是JavaScript JavaScript,是一种基于对象的脚本语言。网景通讯公司最初在它的Navigator 2.0产品上设计并实现的,原名LiveScript。目前已经在WWW上广泛用于动态Web页面的编程语言。Java脚本语言的目的...
    Java脚本语言就是JavaScript 
    JavaScript,是一种基于对象的脚本语言网景通讯公司最初在它的Navigator 2.0产品上设计并实现的,原名LiveScript。目前已经在WWW上广泛用于动态Web页面的编程语言。
    Java脚本语言的目的是增加HTML的互动性
    Java脚本语言是一种轻量级的编程语言,
    Java脚本语言通常直接嵌入HTML页
    Java脚本语言是一种解释性语言(脚本的执行无需翻译)
    展开全文
  • JAVA调用脚本

    千次阅读 2012-09-24 10:44:18
    JAVA调用脚本,主要使用Runtime和Process两个类.其中如何对Process进行输入是关键.尤其注意在合适的时候flush输出流. 调用SHELL脚本可用如下代码进行: String command = base + "--lower=0 " + "DEF:var1=...

    JAVA调用脚本,主要使用Runtime和Process两个类.其中如何对Process进行输入是关键.尤其注意在合适的时候flush输出流.

    调用SHELL脚本可用如下代码进行:

    String command = base +
    		"--lower=0 " +
    		"DEF:var1=" + rrddir + "/" + host +"/Current_Users.rrd:1:AVERAGE " +
    		"CDEF:varf0c320=var1,100,/,100,* " +
    		"AREA:varf0c320#3152A5:'users ' " +
    		"LINE1:var1#000000:'' " +
    		"GPRINT:var1:LAST:'%3.4lf %S Last' " +
    		"GPRINT:var1:MAX:'%3.4lf %S Max' " +
    		"GPRINT:var1:AVERAGE:'%3.4lf %S Average \\l' " +
    		"HRULE:5#FFFF00:'Warning 5 \\n' " +
    		"HRULE:10#FF0000:'Critical 10 \\n' " ;
    String [] cc1 = {"/bin/bash","-c",command};
    		Process p = Runtime.getRuntime().exec(cc1);

    以上是执行SHELL脚本的方法,如果是存在文件里的SHELL脚本,可以用类似Runtime.getRuntime().exec ("/root/bin/test.sh");这种形式来写。

    调用shell后的输出可以通过进程的输入流进行读取,代码如下:

    InputStreamReader ir = new InputStreamReader(p.getInputStream());
      LineNumberReader input = new LineNumberReader(ir);
      String line;
      while ((line = input.readLine()) != null)
      System.out.println(line);
      input.close();
      ir.close();

    最后可以把进程关闭,p.destroy();

    在实际使用中,有种特殊的应用场景,是SHELL脚本生成了图形,然后直接通过输入流显示到页面, 这种情况可以这么去写,在Servlet中,

    Process p = Runtime.getRuntime().exec(cc1);
    		InputStream tempIn = p.getInputStream();
    		response.setContentType("image/png");
    		StreamUtils.streamToStream(tempIn, response.getOutputStream());
    		tempIn.close();

    在Servlet中写回到response,然后在界面中使用:

    <img id="img" alt="绘图未找到历史数据" src="/nkscloudweb2/img.png?host=cailq32&service=HTTP">

    即可,其中img.png是servlet对应的名,其映射为刚才所写的servlet.


    展开全文
  • Java脚本引擎

    千次阅读 2018-11-18 11:58:51
    java脚本引擎使java应用程序,可以通过一套固定的接口与各种脚本语言交互,从而达到在java平台上调用各种脚本语言的目的。它是一个可以执行用特定语言随便的脚本的类库,当虚拟机启动时,它会发现可用的脚本引擎,...

            java脚本引擎使java应用程序,可以通过一套固定的接口与各种脚本语言交互,从而达到在java平台上调用各种脚本语言的目的。它是一个可以执行用特定语言随便写的脚本的类库,当虚拟机启动时,它会发现可用的脚本引擎,为了枚举这些引擎,需要构建一个ScriptEngineManager,并调用getEngineFactories()方法。可以向每个引擎工厂询问它们所支持的引擎名,MIME类型和文件扩展名。

           通常可以直接通过名字,MIME类型,文件扩展获取脚本引擎。下面贴代码:

    package myScriptEngine;
    
    import java.io.IOException;
    import javax.script.Invocable;
    import javax.script.ScriptEngine;
    import javax.script.ScriptEngineManager;
    import javax.script.ScriptException;
    
    public class MyScriptEngine {
    
    	public static void main(String[] args) throws ScriptException, IOException, NoSuchMethodException {
    		//获得脚本引擎对象
    				ScriptEngineManager sem = new ScriptEngineManager();
    				ScriptEngine engine = sem.getEngineByName("javascript");
    				
    				//定义变量,存储到引擎上下文中
    				engine.put("lwk", "anyang");
    				String str = "var user = {name:'lwk',age:20,schools:'hhxy'};";
    				
    				//执行脚本
    				engine.eval(str);
    				System.out.println((engine.get("user")));
    				System.out.println(engine.get("lwk"));
    				engine.eval("lwk = 'henan';");
    				System.out.println(engine.get("lwk"));
    				
    				//定义函数
    				engine.eval("function add(a,b){var sum = a + b; return sum;}");
    				//取得调用接口
    				Invocable jsInvoke = (Invocable) engine;
    				//执行脚本中定义的方法
    				Object result1 = jsInvoke.invokeFunction("add", new Object[]{13,20});
    				System.out.println(result1);
            
    	}
    	
    
    }
    

     

    展开全文
  • Java实战:Robot脚本自动博客

    万次阅读 2020-03-20 22:49:41
    Java实战:Robot脚本自动博客Java实战:Robot脚本自动博客Robot类常用API小技巧实战代码 Java实战:Robot脚本自动博客 Robot类 Robot类用于为测试自动化、自运行演示程序和其他需要控制鼠标和键盘的应用程序...
  • Java 利用脚本API运行Groovy脚本的方式

    千次阅读 2017-08-23 16:15:36
    运用java Script API可以非常方便的运行能够在JVM运行的脚本程序,并通过其脚本引擎进行参数传递等。
  • Java运行脚本命令

    千次阅读 2018-08-30 16:41:54
    记录下通过Java命令来调用shell的方法,简单的记录下;在Java中有时候需要通过调用shell命令来完成对应的操作,之后返回执行的结果进行一些结果的解析,可以使用Runtime.getRuntime().exec()方法来执行shell命令,...
  • JAVA 脚本引擎

    千次阅读 2018-07-09 19:42:12
    Java脚本引擎API 实现了java程序和脚本之间的交互,是一类接口,是的java和python ,js等脚本的交互 Rihno是由第三方实现了JAVA引擎接口是的javascript脚本与java交互package lili.xidain.script; import java.io....
  • Java脚本语言的支持

    千次阅读 2017-10-30 11:53:50
    Java 脚本 API JDK提供了一套标准接口,方便Java应用与各种脚本引擎的交互。javax.script 包定义了这些接口,即 Java 脚本编程 API。脚本引擎 脚本引擎就是脚本解释器,负责运行脚本,获取运行结果。JDK提供了脚本...
  • Java执行脚本命令

    千次阅读 2018-06-14 16:21:11
    //初始化脚本命令 String commond = ""; Process process = null; //脚本执行返回值 boolean flag = false; try { //开始执行脚本 process = Runtime.getRuntime().exec(commond); //这是jdk1.8的wait...
  • 记一次写Java项目启动管理脚本

    千次阅读 2016-11-19 12:56:48
    昨天下午做了个Ambry的启动管理脚本,并且推到了github上,记录下的思路。 首先,确定下需求。需求网上有一个标准的java启动脚本模板,感觉上和我的需求不太符合。他的脚本一个机器上限制只能启动一个JVM进程
  • java调用Groovy脚本

    万次阅读 2019-02-01 17:28:50
    用 Groovy 的 GroovyClassLoader ,它会动态地加载一个脚本并执行它。GroovyClassLoader是一个Groovy定制的类装载器,负责解析加载Java类中用到的Groovy类。 先创建一个groovy脚本,非常简单,定义一个用于计算的...
  • Windows下的java启动脚本

    千次阅读 2013-04-16 13:56:57
    最近部分项目的子系统由linux转向windows,根据实际情况的需求结合网络资源整理了一份Bat脚本,用于在Windows下启动java app。 脚本: @echo off REM Project name: Windows下的java启动脚本 REM Author: ...
  • JAVA Vuser协议手工写脚本Failed to find Classes.zip entry in Classpath问题解决方法:   前提条件: 环境变量:正确的配置了JAVA_HOME,path正确的指明了JAVA_HOME的bin路径和LR的bin路径,classpath中指明了jdk...
  • Java 执行 JS 脚本工具

    千次阅读 2016-10-24 16:04:00
    Java 执行 JS 脚本工具用途:为了便于系统扩展,提供了 JS 脚本的功能,可以通过在系统中执行脚本来获得更复杂的功能。例如:系统提供了一个接口,这个接口不必非的有实现类,而是可以通过JS来实现这个接口的方法,...
  • Java脚本语言支持

    千次阅读 2015-04-16 22:15:54
    静态性:编译时进行类型检查,所有变量...脚本的执行需要由该脚本语言对应的脚本引擎,Java程序可以选择同时包含多种脚本语言的执行引擎 1、获取殷勤 Java6自带了基于Mozilla的Rhino实现的JS脚本引擎。 ScriptEngineMa
  • 1. 新建Web Vuser脚本,并使用标准HTML/HTTP录制对 Web 会话进行录制。...3. 将文本文件中所有参数的括号 "{ }" 修改为 Java 类型 ""。 4. 打开 DOS 命令窗口,转至产品的 dat 目录。   5. 输入下列命令。
  • Groovy – Java脚本语言

    千次阅读 2012-05-29 15:21:11
    Groovy是用Java实现的开源脚本语言并且和它联系紧密.它需要JDK 1.4. Groovy向Java添加了许多Ruby和Python脚本语言的特性. Groovy的特性包括动态类型(dynamic typing), 闭包(closures),简单对象导航( easy ...
  • 如何编译一个无包结构的单个java文件,无依赖jar包,除了JDK;以及运行该文件? 在任何目录(/home/vc/javacDemo/one)下新建NoPackageClass.java文件 public class NoPackageClass { public static void main...
  • java调用python脚本

    万次阅读 多人点赞 2017-08-23 18:36:35
    这篇博客旨在吐血分享今天遇到的java调用python脚本遇到的坑,折腾了3个多小时终于可以跑通了,代码超级短,但网上的好多资料都是抄来抄去的,很少有能够直接跑通的,尤其是针对你的python文件中用到第三方类库的...
  • JAVA脚本语言的使用

    万次阅读 多人点赞 2016-07-19 12:23:39
    JAVA脚本语言使用 2016年7月18日 下午 3:22 脚本语言的优势 描述应用中复杂多变的业务逻辑,并在应用运行过程中进行动态修改 为应用提供一种领域特定语言(DSL),供没有技术背景的普通用户使用 ...
  • 这篇文章主要介绍了,如何用纯java写一个图片爬虫,美女图片爬虫代码分享,本文以采集抓取美女图片为例,需要的朋友可以参考下继续鼓捣爬虫,你懂的!粘贴就可以用.
  • Java调用Python脚本

    万次阅读 2018-11-22 16:15:06
    最近突发奇想地想要在Java里调用Python脚本,在网上查过之后还真的可以。 常见的java调用python脚本方式 通过Jython.jar提供的类库实现 通过Runtime.getRuntime()开启进程来执行脚本文件 这两种方法我都尝试过,...
  • java执行脚本用sh和./的区别

    千次阅读 2018-05-07 10:28:34
    java执行脚本用sh和./的区别如下:./需要执行权限,执行调用的是你开头一行定义的shell,不指定系统会调用默认shell程序sh不需要执行权限,sh是个软链接,它可能是一个任意的shell,通常默认是bash shell...
  • 在 Eclipse 上把 jmeter 源码编译了,现在想要对自定义的 java 脚本 debug 调试。 原来的方法是把自定义的脚本导出生成 .jar 文件,添加到 lib/ext 文件夹下, 现在在 Eclipse 编译下不能使用,那现在该怎么创建...
  • JMeter性能测试-自定义Java脚本

    万次阅读 2018-03-04 19:49:27
    使用JMeter做性能测试时,我们通常都是需要自己编写测试脚本,才能满足测试用例的需求,Jmeter也是支持我们自定义编写测试脚本的,而且支持Java、Python等多种语言。在这里,我们选择使用Java语言开发测试脚本,是...
  • Java调用Groovy脚本

    千次阅读 2018-02-27 14:11:46
    概述 在Java和Groovy的结合中,经常会碰到需要从Java代码中调起一个好的Groovy脚本,我们可以通过GroovyShell来实现。其中最重要的就是GroovyShell和Binding两个类,其中GroovyShell可以调起一个Groovy脚本,而...
  • 之前想着在windows下和linux下调用一些python Scrapy的接口,发现路径问题,传参数问题都挺麻烦,遂改为在bat文件和shell中具体方法,然后执行他们就好了 1.执行bat脚本 (1)传入参数 bat处理文件中可引用的参数...
  • jeb2 java 脚本插件

    千次阅读 2016-08-23 11:45:29
    就行了插件支持下java脚本.不过还是有局限性,无法对ui进行操控原理通过插件对java脚本文件进行编译,动态加载执行run方法并传入参数IEnginesContext,通过这个参数可以拿到,不少东西,可以参考api File files=new ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 599,472
精华内容 239,788
关键字:

java写脚本

java 订阅