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来判断命令是否执行成功
相关文档:
在Java中,如果在对一个List或者Map排序,可以采用Collections的集合类中的sort方法来对List进行排序。至于map,可以使用TreeMap自动排序。
但以上排序仅仅是对英文排序时,才会正确,若果数据里面存在中文和英文时,那么排序就乱了。
现在我实现的方法是按照中文的拼音来排序。(网上,还有按笔画排序,在这里我就不一一 ......
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 {
......
简单的说,内部(inner)类指那些类定义代码被置于其它类定义中的类;而对于一般的、类定义代码不嵌套在其它类定义中的类,称为顶层(top-level)类。对于一个内部类,包含其定义代码的类称为它的外部(outer)类。
1 Static member class(静态成员类)
类声明中 ......