我是靠谱客的博主 朴实故事,最近开发中收集的这篇文章主要介绍关于java Runtime.getRunTime.exec(String command)的使用,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
2008-09-26 19:44当要调用一个外部程序的时候,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文件.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public
class
test
{
/**
*
@param
args
*/
public
static
void
main(String[]
args)
{
//
TODO
Auto-generated
method
stub
Runtime rn=Runtime.getRuntime();
Process p= null;
try {
//p = rn.exec( "cmd
/k
dir ");
p = rn.exec( "C:\Windows\system32\notepad.exe f:\gg.txt");
InputStream
in
=p.getInputStream();
BufferedReader
br
=
new
BufferedReader(new
InputStreamReader(in));
String
str
=
null;
while((str=br.readLine())!= null){
System.out.println(str);
}
br.close();
}
catch
(Exception
e)
{
System.out.println( "Error
exec
notepad ");
}
}
}
/*
public class Test {
/**
* @param args
* @throws IOException
* @throws InterruptedException
*/
/*public static void main(String[] args) throws IOException, InterruptedException
{
// TODO 自动生成方法存根
Process process = Runtime.getRuntime().exec("C:\Program Files\Microsoft Office\Office12\winword.exe f:\gg.docx");
//process.waitFor( );cmd /c java f:\T
/*String ls_1;
Process process = Runtime.getRuntime().exec("cmd /c dir \windows");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
while ( (ls_1=bufferedReader.readLine()) != null)
System.out.println(ls_1); */
//C:\Program Files\Microsoft Office\Office12\winword.exe
//
C:Program FilesMicrosoft OfficeOffice12winword.exe
/*
process.waitFor( );
//process.destroy();
}
}*/
Process process = Runtime.getRuntime().exec("cmd /c del f:\aaa.doc");
这样的调用是没有问题~
真正最正确的用BAT运行JAVA不显示DOS窗口(连闪一下都不闪)
今天写一个独立于RCP项目之外的SWT小工具,需要用批处理启动,偶写了一个批处理没闪DOS窗口,看得同事一愣一愣的。于是赶快把自己当年一点心得和大家分享下。
很多朋友在WINDOWS下会用批处理去启动自己的java程序,
一般的写法是
运行class:
java xx
运行jar:
java -jar xxx.jar
但是这样运行会有一个恶心的对话框停在那直到我们关闭程序。
于是很多人说可以这样
运行class:
start javaw xx
运行jar:
start javaw -jar xxx.jar
这种方法DOS窗口还是会一闪而过,这就算解决问题了吗?!网上很多人说是的.
对我们这种追求完美的人来说闪一下还是不能接受滴.
于是终极解决方案出现了!
那就是在批处理第一行加上@echo off
这样我们的批处理就变成了
运行class:
@echo off
start javaw xx
运行jar:
@echo off
start javaw -jar xxx.jar
快试试吧,绝对不闪了。哈哈哈。
解释一下
echo off
表示在此语句后所有运行的命令都不显示命令行本身
@ 表示运行时不显示本命令行
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 Runtime.getRunTime.exec(String command)的使用的全部内容,希望文章能够帮你解决关于java Runtime.getRunTime.exec(String command)的使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复