命令行运行java

运行TestLinuxCommand.java
 
 
代码
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
 
/**
*
* @author nathan
*/
public class TestLinuxCommand {
     public static void main(String[] args) {
         String logDir = System.getProperty("log.dir");
        
         //windows
//         String commands = "cmd.exe /c c: && dir";
        
//         String commands = "ls -l";
//         String commands = "sh -c cd /data/log/daemon/commonprocess && ls -lt";
         String[]   commands   =   new   String[]   {"/bin/sh", "-c", "/bin/ls -lt /data/log/daemon/commonprocess"};
//         String[] commands = new String[]{"cmd","dir"};
        
         java.lang.Process process = null;        
     try
          {
              process = Runtime.getRuntime().exec(commands);
              System.out.println("exec commands success");
              InputStreamReader inputStream = new InputStreamReader(process.getInputStream());
              BufferedReader input = new BufferedReader(inputStream);
              String line;
              System.out.println("print inputStream start");
              while ((line = input.readLine()) != null){
                   System.out.println(line);
              }
              System.out.println("print inputStream over");
             
              InputStreamReader errorStream = new InputStreamReader(process.getErrorStream());
              input = new BufferedReader(errorStream);
              System.out.println("print errorStream start");
              while ((line = input.readLine()) != null){
                   System.out.println(line);
                   input.close();
              }
              System.out.println("print errorStream over");
        
          } catch (IOException e)
          {
               System.out.println("have ioexception");
               e.printStackTrace();
          } finally{
               try
               {
                    System.out.println(process.waitFor());
               } catch (InterruptedException e)
               {
                    e.printStackTrace();
               }
          }
     }
}
 
 
 
命令
java -classpath .:/usr/java/jdk1.6.0_26/lib/* TestLinuxCommand

javac TestLinuxCommand.java 
原文地址:https://www.cnblogs.com/svennee/p/4082878.html