日期:2014-05-16  浏览次数:20568 次

JAVA执行Linux命令的方法


        /** 执行Linux命令,并返回执行结果。 */
        public static String exec(String[] args) {
            String result = "";
            ProcessBuilder processBuilder = new ProcessBuilder(args);
            Process process = null;
            InputStream errIs = null;
            InputStream inIs = null;
            try {
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
               int read = -1;
               process = processBuilder.start();
               errIs = process.getErrorStream();
               while ((read = errIs.read()) != -1) {
                   baos.write(read);
               }
               baos.write('\n');
               inIs = process.getInputStream();
               while ((read = inIs.read()) != -1) {
                   baos.write(read);
               }
               byte[] data = baos.toByteArray();
               result = new String(data);
           } catch (IOException e) {
               e.printStackTrace();
           } catch (Exception e) {
               e.printStackTrace();
           } finally {
               try {
                   if (errIs != null) {
                       errIs.close();
                   }
                   if (inIs != null) {
                       inIs.close();
                   }
               } catch (IOException e) {
                   e.printStackTrace();
               }
               if (process != null) {
                   process.destroy();
               }
           }
           return result;
       }