import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter; public class Test3
{
static final String path = "D:\\develop\\test.bat"; public static void main(String[] args)
throws IOException, InterruptedException
{
printJava();
createBat();
Process p = null;
File f = new File("d:");
p = Runtime.getRuntime().exec(new String[] { "cmd", "/c", path },null,f);
p.waitFor();
System.out.print(p.exitValue());
printf(p.getInputStream());
} static void printf(InputStream out) throws IOException
{
String line = null;
BufferedReader reader = new BufferedReader(
new InputStreamReader(out, "gbk"));
while ((line = reader.readLine()) != null)
{
System.out.println(line);
}
} static void createBat() throws IOException
{
File file = new File(path);
if (file.exists())
{
file.delete();
}
file.createNewFile();
PrintWriter pw = new PrintWriter(file);
pw.println("echo start");
pw.println("pwd");
pw.println("cd %JAVA_HOME%");
pw.println("cd ..");
pw.println("cd jre");
pw.println("pwd");
pw.println("ls");
pw.println("javac Test.java");
pw.println("clear");
pw.println("for /L %%i in (0,1,2) do start java Test");
pw.flush();
pw.close();
} static void printJava() throws IOException
{
String home = System.getProperty("java.home");
System.out.print(home);
File dir = new File(home);
File file = new File(dir,"Test.java");
if(file.exists())
file.delete();
file.createNewFile();
PrintWriter pw = new PrintWriter(file);
pw.println("public class Test");
pw.println("{");
pw.println("public static void main(String[] args)");
pw.println("{");
pw.println("System.out.println(\"hello world\");");
pw.println("int i = 0;");
pw.println("while(i++ < 100000) System.out.println(\"hello world\");");
pw.println("}");
pw.println("}");
pw.flush();
pw.close();
}
}

  

Java调用Bat的更多相关文章

  1. Windows下Java调用BAT批处理不弹出cmd窗口

    常规Windows下Java调用BAT方式肯定会弹出cmd窗口 Runtime.getRuntime().exec("cmd.exe /C start D:\\test.bat") ...

  2. bat文件【java调用】

    Runtime.getRuntime().exec("cmd /c del c:\\a.doc");   //Runtime.getRuntime().exec("not ...

  3. java 调用windows bat脚本

    当我们需要在java程序中调用外部程序,我们可用通过Runtime.exec()调用来完成. The class java.lang.Runtime features a static method ...

  4. java 调用 C# 类库搞定,三步即可,可以调用任何类及方法,很简单,非常爽啊

    java 调用 C# 类库搞定,三步即可,可以调用任何类及方法,很简单,非常爽啊 java 调用 C# 类库搞定,可以调用任何类及方法,很简单,非常爽啊 总体分三步走: 一.准备一个 C# 类库 (d ...

  5. Java调用webservice接口方法

                             java调用webservice接口   webservice的 发布一般都是使用WSDL(web service descriptive langu ...

  6. 有关java调用批处理文件

    1 例子 java调用批处理文件 public class RunJarBat { public static void runJarBat() { // 调用控制台 Runtime rt = Run ...

  7. JAVA:调用cmd指令(支持多次手工输入)

    JDK开发环境:1.8 package com.le.tool; import java.io.BufferedReader; import java.io.File; import java.io. ...

  8. EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器解决方案之Nodejs调用bat或sh脚本

    关于EasyDSS流媒体服务器 EasyDSS商用流媒体服务器解决方案是一套集流媒体点播.转码与管理.直播.录像.检索.时移回看于一体的一套完整的商用流媒体服务器解决方案,EasyDSS高性能RTMP ...

  9. Java调用WebService方法总结(7)--CXF调用WebService

    CXF = Celtix + XFire,继承了Celtix和XFire两大开源项目的精华,是一个开源的,全功能的,容易使用的WebService框架.文中所使用到的软件版本:Java 1.8.0_1 ...

随机推荐

  1. Mr. Kitayuta's Colorful Graph CodeForces - 506D(均摊复杂度)

    Mr. Kitayuta has just bought an undirected graph with n vertices and m edges. The vertices of the gr ...

  2. Linux配置python和pip环境

    CentOS: 1.首先安装EPEL扩展源: yum install -y epel-release 2.系统自带python2,所以只需安装python3 yum install -y python ...

  3. hdu1059 dp(多重背包二进制优化)

    hdu1059 题意,现在有价值为1.2.3.4.5.6的石头若干块,块数已知,问能否将这些石头分成两堆,且两堆价值相等. 很显然,愚蠢的我一开始并想不到什么多重背包二进制优化```因为我连听都没有听 ...

  4. 多个sshkey 指定key来clone仓库

    Something like this should work (suggested by orip): ssh-agent bash -c 'ssh-add /somewhere/yourkey; ...

  5. HDMI接口基本信息

    一.HDMI基本概念1.HDMI标准的发展历史: 2002年12月9日,HDMI1.0版正式发布,标志着HDMI技术正式登上历史舞台. 2004年1月,HDMI1.1版发布. 2005年8月,HDMI ...

  6. Oracle 跨库 查询 复制表数据

    在目前绝大部分数据库有分布式查询的需要.下面简单的介绍如何在oracle中配置实现跨库访问. 比如现在有2个数据库服务器,安装了2个数据库.数据库server A和B.现在来实现在A库中访问B的数据库 ...

  7. oracle 与sql serve 获取随机行数的数据

    Oracle 随机获取N条数据    当我们获取数据时,可能会有这样的需求,即每次从表中获取数据时,是随机获取一定的记录,而不是每次都获取一样的数据,这时我们可以采取Oracle内部一些函数,来达到这 ...

  8. SVN、Git设置提交时忽略的文件

    个人正在使用的:global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.pyc *.pyo [Tt]humbs.db [Bb]in [ ...

  9. git 知识点

    git 删除远程已经推送过的文件或者文件夹 git rm -r --cached [文件或文件夹] git status git add . git commit -m '删除远程仓库文件,本地仓库和 ...

  10. ZedGraph使用经验(转帖)

     更改背景色  myPane.Fill = new Fill(Color.Black); Zedgraph 柱状图的宽度   gp.BarSettings.ClusterScaleWidth = 2; ...