java中执行外部命令
在java中可以通过Runtime.getRuntime().exec(cmd)来执行外部命令,我比较常用的是调用shell脚本来完成某些工作,也可以直接执行一个os 的命令,比较调用imagemagick来完成图片的一些操作,其中需要注意的有两点,1是最好带上命令的完整路径,否则命令可能不会被执行,而且也没有任何报错的信息输出,2特别要注意空格,比如文件名中存在空格的情况,文件名中的空格可以用引号来引起来,从而不会影响命令的正确执行,但有些地方的空格不能这么简单的处理,那么可以通过传递一个数组给exec()方法来解决,数组有过缺点,就是当命令参数比较多的话,可读性比较差,弥补的方法就是还用字符串,不过把必须有空格的地方用一个特殊字符串来替换,等命令字符串拼接好了后再来处理这个字符串,把它变成数组,同时记得把刚才的特殊字符串换成空格。
Process process = Runtime.getRuntime().exec(cmd);
InputStream fis = process.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
String line = null;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
int flag = process.exitValue(); //可以通过flag来判断命令是否执行成功
相关文档:
1、 Java对象赋值
Java代码
Employee e1=
new
Employee(
"李"
);
//Employee是一个自定义类
Employee e2=e1; //赋值对象
e2.setName("王"
);
//改变对象e2的名字
System.out.println(e1.getName ......
值传递:方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参 数的值。
"引用传递":也称为传地址。方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对应的形式参数,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,方法执行中形式参数值的改 ......
tomcat为一个jsp和servlet的容器,但它除了这个外还自带了web服务器。也就是说,它既是servlet容器,也是一个web服务器。
它是用java编写的,用来执行servlet和jsp的,但处理静态资源上apache等专业服务器功能那么强。所以很多人愿意将两者结合起来使用。tomcat处理动态页面,而appache处理静态资源,这样两者各取所长。另 ......
import java.io.File;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class ReadSetting {
......