posts - 108,comments - 56,trackbacks - 0
   在java程序中有时候需要调用操作系统的一些功能,特别是在unix/linux环境下,命令行提供了很多有用功能。比如启动或者停止服务。我写个简单的程序,可以帮助理解。
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class CommandLine {
    
public static void main(String[] args) throws IOException {
        
if (args == null || args.length == 0) {
            System.out.println(
"请输入命令行参数(例:java CommandLine 'netstat')");
        } 
else {
            String cmd 
= "";
            
for (int i = 0; i < args.length; i++)
                cmd 
+= " " + args[i];
            
try {
                Runtime run 
= Runtime.getRuntime();
                Process p 
= run.exec(cmd);//启动另一个进程来执行命令
                BufferedInputStream in = new BufferedInputStream(p.getInputStream());
                BufferedInputStream err 
= new BufferedInputStream(p.getErrorStream());
                BufferedReader inBr 
= new BufferedReader(new InputStreamReader(in));
                BufferedReader errBr 
= new BufferedReader(new InputStreamReader(err));
                String lineStr;
                
while ((lineStr = errBr.readLine()) != null)
                    System.out.println(lineStr);
                
while ((lineStr = inBr.readLine()) != null)
                    System.out.println(lineStr);
                
//检查命令是否执行失败。
                try {
                    
if (p.waitFor()!=0) {
                        
if(p.exitValue()==1)//p.exitValue()==0表示正常结束,1:非正常结束
                            System.err.println("命令执行失败!");
                    }
                }
catch (InterruptedException e){
                    e.printStackTrace();
                }
            } 
catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}
   执行程序:
  
posted on 2007-06-02 09:34 破茧而出 阅读(4263) 评论(0)  编辑  收藏 所属分类: Java

只有注册用户登录后才能发表评论。


网站导航: