`

如何正确使用java中的runtime

 
阅读更多
package com.test.common;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

public class TESTRuntime {
	
	public String cmdexeStr = "F:\\tool\\JsonView\\JsonView\\JsonView.exe";
	
	public String startRunTime(){
		try {
			Process proc = Runtime.getRuntime().exec(cmdexeStr);
			ProcessStreamUtil errorProcStream = new ProcessStreamUtil(proc.getErrorStream(),"Error");
			ProcessStreamUtil outputProcStream = new ProcessStreamUtil(proc.getInputStream(),"Output");
			errorProcStream.start();
			outputProcStream.start();
			int num = proc.waitFor();
			System.out.println("------num:"+num);
			proc.destroy();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
	
	public String reStartRunTime(){
		try {
			Process proc = Runtime.getRuntime().exec(cmdexeStr);
			InputStream errorProcStream = proc.getErrorStream();
			InputStream outputProcStream = proc.getInputStream();
			InputStreamReader errorReader = new InputStreamReader(errorProcStream);
			InputStreamReader outputReader = new InputStreamReader(outputProcStream);
		   BufferedReader errorBr = new BufferedReader(errorReader);
		   String errorline = null;
		   while ((errorline = errorBr.readLine()) != null) {
			   System.out.println("-------error:\n"+errorline);
		   }
		   BufferedReader outputBr = new BufferedReader(outputReader);
		   String outputline = null;
		   while ((outputline = outputBr.readLine()) != null) {
			   System.out.println("-------output:\n"+outputline);
		   }
		   int num = proc.waitFor();
		   System.out.println("------num:"+num);
		   proc.destroy();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
	
	public static void main(String[] args) { 
		System.out.println("------------start run--------------");
		TESTRuntime test = new TESTRuntime();
		test.reStartRunTime();
		System.out.println("------------end run--------------");
	}

}
分享到:
评论

相关推荐

    Java精华(免费版)

    所有的checked exception是从java.lang.Exception类衍生出来的,而runtime exception则是从java.lang.RuntimeException或java.lang.Error类衍生出来的。   它们的不同之处表现在两方面:机制上和逻辑上。   一...

    cms-ars-3.1-moderate-oracle-java-runtime-environment-8-unix-stig-overlay

    InSpec配置文件覆盖图,用于针对针对归类为“中度”的CMS系统)针对Oracle JRE 8 UNIX STIG版本1发行版3来验证UNIX上Oracle Java Runtime Environment(JRE)8的安全配置。 入门 计划并建议从“运行程序”主机...

    JAVA面试题最全集

    9.Java中访问数据库的步骤,Statement和PreparedStatement之间的区别。 10.找出下列代码可能存在的错误,并说明原因: 二、JSP&Servlet技术 1.描述JSP和Servlet的区别、共同点、各自应用的范围 2.在Web开发中...

    java 面试题 总结

    在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。...

    java面试宝典

    156、在jsp:useBean语法中使用beanName有何好处? 37 157、当我使用时,在浏览器的地址栏没有改变? 37 158、如何转换JSP 0.9版本的文件到JSP1.1? 37 160、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    在 java 语言中,Java 程序的基本单位是类,也就是说:一个 Java 程序是由多个类组成 的。定义一个类与定义一个数据类型是有区别的。在程序设计语言中,把定义数据类型的能 力作为一种很重要的能力来对待。在面向...

    Java 高级特性.doc

    @Retention(RetentionPolicy.RUNTIME) //在运行是加载Annotation到JVM中 public @interface MyAnnotation { public String value() default "yellow"; public int[] array() default {1,2}; public Meta...

    \java超强笔记(超级经典)

    四种元注释:java.lang.annotation中的类 元注释:注释注释的注释,用来限定注释的特征 @Terget 用来限定某个注释的使用范围,可以对什么元素进行注释 @Retention 用来描述注释的有效范围 @Inherited ...

    Java应用中使用ShutdownHook友好地清理现场

    在线上Java程序中经常遇到进程程挂掉,一些状态没有正确的保存下来,这时候需要在JVM关掉的时候执行一些清理现场的代码。Java中得ShutdownHook提供了比较好的方案。  JDK在1.3之后提供了Java Runtime....

    第一篇: Java-Selenium之jdk/eclipse/webdriver资源下载

    JAVA环境配置 1.下载jdk并安装 ...3. 验证java安装正确 java -version java version “1.8.0_202” Java:trade_mark: SE Runtime Environment (build 1.8.0_202-b08) Java HotSpot:trade_mark: 64-Bit S

    Java经典入门教程pdf完整版

    我们半常开发和使用最多的技术,Java的主要的技术将在这个版本中体现。本书主要讲的 就是JSF。 2:Java微缩版:JME( Java Micro edition) JE(Java, Micro edition)是对标准版JSE进行功能缩减后的版本,于199年6月 由 Sun...

    java基础题 很全面

    53. 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 13 54. java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 13 55. java中有几种类型的流?...

    emf-sdo-runtime-2.2.0.zip

    它是Eclipse MDA(Model Driven Architecture)的一个重要组成部分,是Eclipse中许多项目的基础( e.g, GEF), EMF可以将模型转换成高效的,正确的,和易于定制的Java代码。EMF项目的最初目标是要实现OMG(Object ...

    超级有影响力霸气的Java面试题大全文档

    在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。...

    Java学习笔记

    java学习的笔记,回顾一些基本的要领,知识点,很有帮助 比如: Day Eight 异常: 异常的分类 Java会将所有的异常封装成对象,其根本父类为Throwable。 Throwable有两个子类:Error 和Exception。 Error:一个...

    ICEMail 3.0.5

    如你的机器使用 HEKEY_LOCAL_MACHINESOFTWAREJavaSoftJava 运行时环境, 那么,你必须手工建英文的Java Runtime Environment,里面的子项只要照搬就可以。3.检查run.bat 中的DIST=d:icemail3-0-5 行,并修改为你的...

    appengine-java-vm-hello:VM Runtime Java简单的“ Hello World”应用程序

    与App Engine Java托管VM一起使用的示例“ hello world”应用程序。 需要 3.1或更高版本以及JDK 7才能运行。 该应用程序需要部署到[App Engine VM运行时] [1]。 安装的要运行该应用程序,请执行以下操作: 通过...

    Java 虚拟机面试题全面解析(干货)

    如果出现在方法体中,则上述代码会反映到Java栈的本地变量表中,作为 reference类型数 据出现。 new Object( 反映到Java堆中,形成一块存储了 bject类型所有对象实例数据值的内存。Java堆中还包 含对象类型数据的地址...

    java8stream源码-big-data-laboratory:大数据实验室,使用Kibana、Elasticsearch、Logstas

    如果Java版本错误,请使用以下命令将版本切换到所需的版本 sudo update-alternatives --config java # choose the correct version -> java-8-openjdk 然后通过运行上一个命令检查安装是否正确 Python 检查curl是否...

    maven-runtime-agent:在运行时定期获取和更新依赖项的 Java 代理

    在运行时定期获取和更新依赖项的 Java 代理。 它主要用于您希望持续运行(甚至通过发布)的应用程序,但您希望它在运行时仍然从依赖项获取更新。 您不仅希望在运行时获取它们,而且还希望它们按相关顺序正确加载。 ...

Global site tag (gtag.js) - Google Analytics