`
lushuaiyin
  • 浏览: 701382 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java Runtime 很强,转了

 
阅读更多

转载自:http://hi.baidu.com/l3130y/blog/item/8e461b3b8c0a7eec14cecbc0<wbr>.html<br></wbr>

当要调用一个外部程序的时候,java提供了exec方法,具体用法是:Runtime.getRunTime.exec("cmd /C Start mailto: abc@xxx.com").其中cmd /c是调用cmd下的start命令,它相当于对一个文件双击。也可以用Runtime.getRunTime.exec("c:\\EXCEl.exe d:\\a.xls")来打开D盘下的excel文件.

<wbr></wbr>

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

public<wbr><wbr> class<wbr><wbr> test<wbr><wbr> {</wbr></wbr></wbr></wbr></wbr></wbr>


public<wbr><wbr> static<wbr><wbr> void<wbr><wbr> main(String[]<wbr><wbr> args)<wbr><wbr> {<br> //<wbr><wbr><wbr> TODO<wbr><wbr> Auto-generated<wbr><wbr> method<wbr><wbr> stub<br> Runtime rn=Runtime.getRuntime();<br> Process p= null;<br> try {<br> //p = rn.exec( "cmd<wbr><wbr> /k<wbr><wbr> dir ");<br><wbr><wbr> p = rn.exec( "C:\\Windows\\system32\\notepad.exe f:\\gg.txt");<br><br> InputStream<wbr><wbr> in<wbr><wbr> =p.getInputStream();<br> BufferedReader<wbr><wbr> br<wbr><wbr> =<wbr><wbr> new<wbr><wbr> BufferedReader(new<wbr><wbr> InputStreamReader(in));<br> String<wbr><wbr> str<wbr><wbr> =<wbr><wbr> null;<br> while((str=br.readLine())!= null){<br> System.out.println(str);<br> }<br> br.close();<br> }<wbr><wbr> catch<wbr><wbr> (Exception<wbr><wbr> e)<wbr><wbr> {<br> System.out.println( "Error<wbr><wbr> exec<wbr><wbr> notepad ");<br> }<br> }<br> }</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>




<wbr><wbr> //C:\\Program Files\\Microsoft Office\\Office12\\winword.exe<br> //<wbr><wbr> C:\Program Files\Microsoft Office\Office12\winword.exe<br></wbr></wbr></wbr></wbr>

Process process = Runtime.getRuntime().exec("cmd /c del f:\\aaa.doc");

这样的调用是没有问题

真正最正确的用BAT运行JAVA不显示DOS窗口(连闪一下都不闪)

今天写一个独立于RCP项目之外的SWT小工具,需要用批处理启动,偶写了一个批处理没闪DOS窗口,看得同事一愣一愣的。于是赶快把自己当年一点心得和大家分享下。

<wbr></wbr>

很多朋友在WINDOWS下会用批处理去启动自己的java程序,

一般的写法是

运行class

java xx

<wbr></wbr>

运行jar

java -jar xxx.jar

但是这样运行会有一个恶心的对话框停在那直到我们关闭程序。

<wbr></wbr>

<wbr></wbr>

于是很多人说可以这样

运行class

start javaw xx

运行jar

start javaw -jar xxx.jar

<wbr></wbr>

这种方法DOS窗口还是会一闪而过,这就算解决问题了吗?!网上很多人说是的.

对我们这种追求完美的人来说闪一下还是不能接受滴.

<wbr></wbr>

于是终极解决方案出现了!

那就是在批处理第一行加上@echo off

<wbr></wbr>

这样我们的批处理就变成了

<wbr></wbr>

运行class

@echo off

start javaw xx

<wbr></wbr>

运行jar

@echo off

start javaw -jar xxx.jar

<wbr></wbr>

<wbr></wbr>

快试试吧,绝对不闪了。哈哈哈。

<wbr></wbr>

解释一下

echo off

表示在此语句后所有运行的命令都不显示命令行本身

@ 表示运行时不显示本命令行

<wbr></wbr>

public class TestCmd {
public TestCmd() {
}

public static void main(String args[]) {
try {

// 登网站
Process process = Runtime.getRuntime().exec(
"cmd.exe /c start
http://www.hao123.net/");

// 使用用Ping命令

Process ee = Runtime.getRuntime().exec(
"cmd.exe /c start ping 10.5.2.19");

} catch (Exception e) {
e.printStackTrace();
}
}
}

运行这个类你会看到效果
这个是运行了ping命令


我使用Process pc = Runtime.getRuntime().exec("cmd /c ping 127.0.0.1");可以成功;

分享到:
评论

相关推荐

    java教程(从java基础到java企业级开发及框架)

    - 这种特性使得 Java 具有很强的平台无关性。 - **Java 开发工具包 (JDK)**:Java 开发工具包是编写 Java 应用程序所必需的软件包。 - JDK 通常安装在 `/opt/jdk` 或 `/opt/jdk_1.6.0_1` 目录下。 - 包含编译器 ...

    RunTime_实现函数

    在Java和.NET框架中,反射是通过特定的API实现的,比如Java的`Class.forName()`和`.getMethod()`,C#的`Type.GetType()`和`MethodInfo.Invoke()`。 3. 动态加载:在某些场景下,我们可能希望在程序运行时加载新的...

    Java面试题大全.pdf

    2. JRE(Java Runtime Environment):Java运行环境,提供了运行Java程序所需要的环境。 3. JVM(Java Virtual Machine):Java虚拟机,是Java程序的运行环境,负责将Java字节码文件解释执行。 本资源提供了Java...

    java7运行库

    9. **子文件"java7运行库.exe"**:这个文件很可能是Java 7运行库的安装程序,用户可以通过运行这个可执行文件在Windows操作系统上安装Java 7环境,包括JRE和必要的工具。 10. **安全增强**:Java 7提升了安全特性,...

    Java常见FQA.pdf

    J2RE是Java2 Runtime Environment,即Java运行环境,有时简称JRE。如果您只需要运行Java程序或Applet,可以下载并安装JRE。如果您要自行开发Java软件,请下载JDK。在JDK中附带有J2RE。 JRE是Java运行环境的简称,是...

    Java编程实验内容.ppt

    Java具有很强的安全性,包括指针拒绝、沙箱机制等,确保Java程序的安全运行。Java的面向对象编程(OOD)特性包括多态、继承、封装等。Java程序都是基于类的定义和实例化的,每个Java程序都包含类的定义和实例化。 ...

    JAVA SE6.0编程指南源码

    Java SE 6.0包含了JDK(Java Development Kit)和JRE(Java Runtime Environment),是Java程序员日常开发和运行Java程序的基础。 源码作为编程指南的一部分,对于学习和理解Java编程语言至关重要。通过阅读和分析...

    java 缩写netbeans 版本

    5. JRE:Java运行时环境(Java Runtime Environment),用于运行Java程序的必备组件,不包含开发工具。 6. OOP:面向对象编程(Object-Oriented Programming),Java的核心编程范式,强调数据和功能的封装、继承和...

    jre6 java

    JRE 6,全称为Java Runtime Environment 6,是Oracle公司于2006年推出的,它带来了许多新的特性和改进,旨在提升性能、稳定性和安全性。 1. **JVM优化**:JRE 6中的JVM进行了多项优化,包括更快的垃圾回收机制,这...

    java讲义(入门基础)

    - Java具有很强的跨平台能力,可以在多种操作系统上运行相同的代码。 7. **分布性**: - Java支持分布式计算,能够克服地理位置限制。 8. **高性能**: - 相对于其他解释型语言,Java具有较高的执行效率。 9. **...

    Java超详细基础知识学习文档

    2. JDK与JRE:JDK(Java Development Kit)是Java开发工具包,包含了JRE(Java Runtime Environment)以及用于开发的工具,如编译器javac、文档生成器javadoc等。JRE则是运行Java程序所必需的环境,它包括JVM和Java...

    Java写的小文件

    另外,如果是通过控制台运行的,那么很可能使用了`Runtime.exec()`方法来执行系统命令,例如在Windows上是"shutdown /s",在Linux或Unix上可能是"shutdown -h now"。 Servlet是Java中的一个重要概念,它是用于扩展...

    1-Java简介以及开发环境安装1

    - Java Runtime Environment (JRE):仅包含运行Java程序所需的部分,如JVM和核心类库。 - Java Application Programming Interface (API):一组预先定义的类和接口,提供各种功能,如输入输出、网络、数据库连接等...

    java笔记nn

    5. 实践出真知:编程是一项实践性很强的技能,通过编写代码来学习是最有效的。 6. 囫囵吞枣有时可行:不必一开始就追求完美,先掌握大体,再逐步完善。 7. 学习他人的经验:多参考别人的代码和思路,不断优化自己的...

    Java基础入门习题答案.doc

    - **JRE(Java Runtime Environment)**: Java运行环境,包含了Java虚拟机(JVM)以及运行Java程序所需的类库。 3. **javac** - **javac**: Java编译器,用于将Java源代码编译成字节码(.class文件)。 4. **bin...

    张孝祥Java就业培训教程.pdf

    本书结构合理,图文并茂,实用性强,适合于广大有经验的开发人员来迅速转换到Java语言,对广大初学计算机编程语言的爱好者来说,这本书就是非常好的切入点。本书基本理论知识完备,又紧密联系实际开发,也非常适合...

    JAVA程序设计_教案(自用).doc

    由于Java的强类型检查、垃圾回收机制以及异常处理,它具有很好的健壮性,降低了程序出错的概率。Java的字节码机制确保了其跨平台的可移植性,而无需针对不同硬件环境进行重新编译。Java还提供了解释和编译两种执行...

    java入门与加深FAQ.doc

    - **Java**:Java 是一种通用的、并发的、强类型的、面向对象的编程语言。由Sun Microsystems公司于1995年推出,设计目标是为了编写一次,到处运行的程序。 - **Java2**:Java2是Java的一个版本系列,主要改进了Java...

Global site tag (gtag.js) - Google Analytics