Java如何调用外部外部命令?
Java如何调用外部外部命令?
我自己的体会是用Runtime.getRuntime.exec(cmd);
譬如下面这个代码:
String[] cmd = new String[3];
if( osName.equals( "Windows NT" )||osName.equals( "Windows 2000" ))
{
cmd[0] = "cmd.exe" ;
cmd[1] = "/C" ;
}
else if(osName.equals("Linux"))
{
cmd[0]="sh"
cmd[1]=linux下的某个目录
}
else if( osName.equals( "Windows 98" ) )
{
cmd[0] = "command.com" ;
cmd[1] = "/C" ;
}
cmd[2] = "mysqldump --opt -u root yh_tpl > "+backup_path+filename+".sql";
Process ps = Runtime.getRuntime().exec(cmd);
今天看到了别人回复这类问题,有这样一点以前不知道:
java中调用exec完全脱离了java的jvm,因此以后的运行环境需要自己维护。
======================================================================================================
Java调用外部程序的方法
作者:陈刚,桂林人,97年毕业于广西师范大学数学系,暂于IBM中国研究中心兼职从事软件开发(2004.2-?),专注基于java平台的软件开发。
email: glchengang@hotmail.com
blog: glchengang.yeah.net
最近开发报表模块,生成报表文件后(一个Excel文件)要将此文件打。很简单,使用Java调用外部程序的方法即可。代码如下:
String path = "C:/报表_20040504.xls";
try {
//相当于window的"开始"->"运行"的效果
Runtime.getRuntime().exec("cmd /c start " + path);
} catch (IOException e) {
e.printStackTrace();
}
但如果文件的路径中包含有空格上面的方法就会出错。到google狂搜一气,没有,看cmd /?帮助也没有,试了好多次,发现解决办法其实很简单,真是愚昧。代码如下,无须多言。
String path = "C:/Documents and Settings/Giles/桌面/报表_20040504.xls";
try {
Runtime.getRuntime().exec("cmd /c start excel \"" + path + "\"");
} catch (IOException e
相关文档:
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.imageio.ImageIO;
import com.sun.image.codec.jpeg.JPEGCodec;
import com ......
一、IO流的三种分类方式
1.按流的方向分为:输入流和输出流
2.按流的数据单位不同分为:字节流和字符流
&n ......
反射机制:所谓的反射机制就是java
语言在运行时拥
有一项自观的能力。通过这种能力可以彻底的了解自身的情况为下一步的动作做准备。下面具体介绍一下java
的反射机制。这里你将颠覆原来对java的理解。
Java的反射机制的实现要借助于4个类:class,Constructor,Field,Method;其中class代表的时类对
象,Constructo ......
1.垃圾收集算法的核心思想
Java语言建立了垃圾收集机制,用以跟踪正在使用的对象和发现并回收不再使用(引用)的对象。该机制可以有效防范动态内存分配中可能发生的两个危险:因内存垃圾过多而引发的内存耗尽,以及不恰当的内存释放所造成的内存非法引用。
垃圾收集算法的核心思想是:对虚拟机可用内存空间,即堆空 ......
Java技术路线图
提示:前文对Java技术做了框架性的分析,包括Java SE、Java EE和Java ME,让读者了解了Java由哪些技术组成。为了系统地学习这些技术,本文将制定一套完整的Java技术学习路线。
从前文中我们已经了解到,Java SE中包含了Java的基础技术,Java EE中包含了网络应用开发的各种技术,Java ME中包含了移动设备应 ......