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.计算某一月份的最大天数
Calendar time=Calendar.getInstance();
time.clear();
time.set(Calendar.YEAR,year); //year 为 int
time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0
int day=time.getActualMaximum(Calendar.DAY_OF_MONTH) ......
class TestTryFinallyC {
public static void main(String[] args) {
System.out.println(testt());
}
public static int testt() {
int x = 99;
try {
return x;
}finally {
x = 8;
}
}
}
某年某月的某一天, ......
import java.awt.Image;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.imageio.ImageIO;
public class createXml
{
public static boolean writeXml(String path,String dir,String wpath,String wname)
{
File[] files = ReaderListFiles(path);
boo ......
简单的说,内部(inner)类指那些类定义代码被置于其它类定义中的类;而对于一般的、类定义代码不嵌套在其它类定义中的类,称为顶层(top-level)类。对于一个内部类,包含其定义代码的类称为它的外部(outer)类。
1 Static member class(静态成员类)
类声明中 ......