`

Java 运行 bat 文件

阅读更多

     项目需要通过web页面控制Tomcat6的多实例启动停止等操作,结合网上资料整理的实例以备用。附有源码,请把源码test目录Copy到Tomcat6的安装目录,未测试Tomcat5, Tomcat5.5下的情况。

 

核心类:CmdProcess

 

package com.cmd.test;

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

/**
 * 该类启动doc界面
 * @author Administrator
 *
 */
public class CmdProcess extends Thread{
	
	InputStream inputStream;

	public InputStream getInputStream() {
		return inputStream;
	}

	public void setInputStream(InputStream inputStream) {
		this.inputStream = inputStream;
	}

	public CmdProcess() {
		super();
		// TODO Auto-generated constructor stub
	}
	
	public CmdProcess(InputStream inputStream) {
		super();
		this.inputStream = inputStream;
	}

	public void run() {
		// TODO Auto-generated method stub
		try {
			InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
			BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
			String line = null;
			while ((line = bufferedReader.readLine()) != null){
			//while ((bufferedReader.readLine()) != null) {//此处是关键,原因我也不知道,望牛人解答
				System.out.println(line);
			}
			try{				
			}finally{
				if(bufferedReader!=null) bufferedReader.close();
				if(inputStreamReader!=null) inputStreamReader.close();
				if(inputStream!=null) inputStream.close();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String command = "D:\\Program Files\\Tomcat6\\minor\\qin\\qin-startup.bat";
		try {
			Process process = Runtime.getRuntime().exec(command);
			CmdProcess cmdProcess = new CmdProcess(process.getInputStream());
			cmdProcess.start();
			process.waitFor();
		}catch(Exception e){
			e.printStackTrace();
		}
	}
}

 启动测试类 StartTest

package com.cmd.test;

/**
 * 启动测试
 * @author Administrator
 *
 */
public class StartTest {

	/**
	 * 启动
	 */
	public void start(){
		String command = "D:\\Program Files\\Tomcat6\\test\\test-startup.bat";
		try {
			Process process = Runtime.getRuntime().exec(command);
			CmdProcess cmdProcess = new CmdProcess(process.getInputStream());
			cmdProcess.start();
			process.waitFor();
			
		}catch(Exception e){
			e.printStackTrace();
		}	
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new StartTest().start();
	}

}

 

停止测试类 StopTest

package com.cmd.test;

/**
 * 停止测试
 * @author Administrator
 *
 */
public class StopTest {

	/**
	 * 停止
	 */
	public void stop(){
		String command = "D:\\Program Files\\Tomcat6\\test\\test-shutdown.bat";
		try {
			Process process = Runtime.getRuntime().exec(command);
			CmdProcess cmdProcess = new CmdProcess(process.getInputStream());
			cmdProcess.start();
			process.waitFor();
			
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new StopTest().stop();
	}

}

 

分享到:
评论

相关推荐

    java程序调用bat文件,执行oracel数据库备份

    在Java中,我们可以使用`Runtime`类或`ProcessBuilder`类来执行操作系统级别的命令,例如运行bat文件。以下是一个简单的示例,展示如何使用`Runtime.getRuntime().exec()`方法来执行bat文件: ```java public class...

    java调用bat文件

    本文将深入探讨如何使用Java调用BAT文件,以及在这个过程中可能遇到的问题和解决方案。 首先,理解基本原理:Java通过`Runtime.getRuntime().exec()`方法来执行外部命令,这包括运行批处理文件。这个方法允许Java...

    bat 运行java main方法

    `bat`文件是Windows操作系统中的批处理脚本,它可以用来自动化一系列命令行操作,包括运行Java应用程序。在这个场景下,`bat`文件被用来启动包含`main`方法的Java程序。`main`方法是Java程序的入口点,按照`public ...

    javajar包运行及bat文件制作.doc

    3. **运行Bat文件**:双击该bat文件即可运行jar程序。 #### 五、通过Bat文件传递参数给Java程序 如果希望在运行时向Java程序传递参数,可以通过在bat文件中修改运行命令来实现。例如,对于以下Java代码: ```java ...

    java用bat运行程序

    首先,Java程序运行需要Java开发工具包(Java Development Kit,简称JDK)的安装,因为JDK包含Java编译器和Java运行环境。确保已正确安装JDK,并将其添加到系统环境变量PATH中,这样可以从任何位置调用Java命令。 ...

    shell,bat脚本运行java程序

    1. 使用文本编辑器(如Notepad++、记事本等)创建一个新的.bat文件,例如`run_java.bat`。 2. 在文件中输入以下内容: ```batch @echo off REM 指定Java程序的主类名,这里假设为com.example.MyApp set MAIN_CLASS=...

    用bat运行java文件中引用了外部jar的java程序

    下面将详细介绍如何通过BAT文件运行引用了外部jar的Java程序。 首先,我们需要了解Java程序的运行机制。Java程序是由JVM(Java虚拟机)执行的,通过`java`命令来启动。如果Java程序依赖于外部的jar库,我们可以通过...

    bat文件调用java程序

    4. **运行BAT文件**: 保存这个记事本文件为`.bat`扩展名,比如`runTestDemo.bat`。双击这个BAT文件,你的Java程序就会被调用并运行。 通过这种方式,你可以便捷地在Windows环境下运行Java程序,而无需每次都手动...

    windows运行不了.bat文件解决.docx

    Windows 无法运行 .bat 文件解决方案 .bat 文件是一种批处理文件,在 Windows 操作系统中广泛应用于自动化任务和脚本编程。但是,有时 Windows 无法运行 .bat 文件,这可能是由于环境变量配置不正确或缺失所致。...

    javalauncher可以把BAT文件变成EXE的文件

    要使用JavaLauncher将BAT文件打包成EXE,你需要按照以下步骤操作: 1. 下载`javalauncher_standard_3201.exe`,这是一个JavaLauncher的执行文件。 2. 将你的批处理文件(例如:mybatch.bat)和任何该脚本依赖的外部...

    同一个bat文件启动多个jar包

    在标题“同一个bat文件启动多个jar包”中,我们看到的是利用批处理文件一次性启动多个Java应用程序的场景。这在开发和部署环境中尤其有用,因为它允许用户通过简单的双击bat文件,就能快速启动多个相关的服务或应用...

    bat文件调用java入门实例带图解

    ### bat文件调用Java入门实例解析 #### 一、引言 在计算机编程领域中,批处理文件(.bat)是一种常用于Windows操作系统中的脚本文件。它通过一系列的命令来自动化执行特定任务,比如启动应用程序或执行系统操作。...

    bat批处理文件设置java环境变量

    下面我们将详细探讨如何使用`bat`批处理文件来设置Java环境变量。 首先,让我们了解什么是`bat`批处理文件。`bat`文件是Microsoft DOS和Windows操作系统中的批处理脚本,用于执行一系列命令。它们是文本文件,扩展...

    Java制作bat文件可执行Jar.doc

    ### Java 制作 BAT 文件可执行 JAR 的详细步骤与知识点 #### 一、导言 在实际开发过程中,为了方便部署和分发应用程序,常常需要将 Java 应用程序打包成 JAR 文件,并通过批处理(BAT)文件来启动。这种方式不仅...

    java执行bat命令碰到的阻塞问题的解决方法

    在Java编程中,有时我们需要执行操作系统级别的命令,例如运行批处理文件(bat文件)来完成特定的任务。然而,当我们直接使用`Runtime.getRuntime().exec()`方法执行bat命令时,可能会遇到阻塞问题。这个问题通常...

    flink新版本bat启动文件.zip

    根据描述,“flink新版本bin目录无bat文件”,这表明用户遇到了无法直接在Windows环境下启动Flink服务的困扰。 解决方案是将压缩包中的`start-cluster.bat`和`flink.bat`文件解压到Flink的`bin`目录下。`start-...

    xmlbeans-2.4.0 生成JAVA代码BAT文件

    标题中的“xmlbeans-2.4.0 生成JAVA代码BAT文件”指的是XMLBeans库的一个特定版本,2.4.0,它包含了一个批处理(BAT)文件,用于自动化生成Java代码的过程。XMLBeans是一个开源项目,由Apache软件基金会维护,它的...

Global site tag (gtag.js) - Google Analytics