转载自: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 开发工具包 (JDK)**:Java 开发工具包是编写 Java 应用程序所必需的软件包。 - JDK 通常安装在 `/opt/jdk` 或 `/opt/jdk_1.6.0_1` 目录下。 - 包含编译器 ...
在Java和.NET框架中,反射是通过特定的API实现的,比如Java的`Class.forName()`和`.getMethod()`,C#的`Type.GetType()`和`MethodInfo.Invoke()`。 3. 动态加载:在某些场景下,我们可能希望在程序运行时加载新的...
2. JRE(Java Runtime Environment):Java运行环境,提供了运行Java程序所需要的环境。 3. JVM(Java Virtual Machine):Java虚拟机,是Java程序的运行环境,负责将Java字节码文件解释执行。 本资源提供了Java...
9. **子文件"java7运行库.exe"**:这个文件很可能是Java 7运行库的安装程序,用户可以通过运行这个可执行文件在Windows操作系统上安装Java 7环境,包括JRE和必要的工具。 10. **安全增强**:Java 7提升了安全特性,...
J2RE是Java2 Runtime Environment,即Java运行环境,有时简称JRE。如果您只需要运行Java程序或Applet,可以下载并安装JRE。如果您要自行开发Java软件,请下载JDK。在JDK中附带有J2RE。 JRE是Java运行环境的简称,是...
Java具有很强的安全性,包括指针拒绝、沙箱机制等,确保Java程序的安全运行。Java的面向对象编程(OOD)特性包括多态、继承、封装等。Java程序都是基于类的定义和实例化的,每个Java程序都包含类的定义和实例化。 ...
Java SE 6.0包含了JDK(Java Development Kit)和JRE(Java Runtime Environment),是Java程序员日常开发和运行Java程序的基础。 源码作为编程指南的一部分,对于学习和理解Java编程语言至关重要。通过阅读和分析...
5. JRE:Java运行时环境(Java Runtime Environment),用于运行Java程序的必备组件,不包含开发工具。 6. OOP:面向对象编程(Object-Oriented Programming),Java的核心编程范式,强调数据和功能的封装、继承和...
JRE 6,全称为Java Runtime Environment 6,是Oracle公司于2006年推出的,它带来了许多新的特性和改进,旨在提升性能、稳定性和安全性。 1. **JVM优化**:JRE 6中的JVM进行了多项优化,包括更快的垃圾回收机制,这...
- Java具有很强的跨平台能力,可以在多种操作系统上运行相同的代码。 7. **分布性**: - Java支持分布式计算,能够克服地理位置限制。 8. **高性能**: - 相对于其他解释型语言,Java具有较高的执行效率。 9. **...
2. JDK与JRE:JDK(Java Development Kit)是Java开发工具包,包含了JRE(Java Runtime Environment)以及用于开发的工具,如编译器javac、文档生成器javadoc等。JRE则是运行Java程序所必需的环境,它包括JVM和Java...
另外,如果是通过控制台运行的,那么很可能使用了`Runtime.exec()`方法来执行系统命令,例如在Windows上是"shutdown /s",在Linux或Unix上可能是"shutdown -h now"。 Servlet是Java中的一个重要概念,它是用于扩展...
- Java Runtime Environment (JRE):仅包含运行Java程序所需的部分,如JVM和核心类库。 - Java Application Programming Interface (API):一组预先定义的类和接口,提供各种功能,如输入输出、网络、数据库连接等...
5. 实践出真知:编程是一项实践性很强的技能,通过编写代码来学习是最有效的。 6. 囫囵吞枣有时可行:不必一开始就追求完美,先掌握大体,再逐步完善。 7. 学习他人的经验:多参考别人的代码和思路,不断优化自己的...
- **JRE(Java Runtime Environment)**: Java运行环境,包含了Java虚拟机(JVM)以及运行Java程序所需的类库。 3. **javac** - **javac**: Java编译器,用于将Java源代码编译成字节码(.class文件)。 4. **bin...
本书结构合理,图文并茂,实用性强,适合于广大有经验的开发人员来迅速转换到Java语言,对广大初学计算机编程语言的爱好者来说,这本书就是非常好的切入点。本书基本理论知识完备,又紧密联系实际开发,也非常适合...
由于Java的强类型检查、垃圾回收机制以及异常处理,它具有很好的健壮性,降低了程序出错的概率。Java的字节码机制确保了其跨平台的可移植性,而无需针对不同硬件环境进行重新编译。Java还提供了解释和编译两种执行...
- **Java**:Java 是一种通用的、并发的、强类型的、面向对象的编程语言。由Sun Microsystems公司于1995年推出,设计目标是为了编写一次,到处运行的程序。 - **Java2**:Java2是Java的一个版本系列,主要改进了Java...