java exec shell cmd 用法

原创 2015年07月09日 15:43:26
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package apkeditor;

import com.android.googleservice.util.StreamTool;
import java.io.File;
import java.io.InputStream;

/**
 *
 * @author Administrator
 */
public class Testexec {

    public static void main(String args[]) {

         try {
            
            ProcessBuilder mBuilder = new ProcessBuilder();
            mBuilder.redirectErrorStream(true);
            //Process process = mBuilder.command("java -jar apktool.jar d badging test.apk".split(" ")).start();
            Process process = mBuilder.command("ipconfig /all".split(" ")).start();

            InputStream inputStream = process.getInputStream();
            byte[] lineString = StreamTool.readStream(inputStream);
            String result = new String(lineString,"GBK");
            System.out.println(result);
            
             System.err.println(new String(StreamTool.readStream(process.getErrorStream())));

        } catch (Exception e) {
            e.printStackTrace();
        }
         if(true){
             return ;
         }
         try {

            ProcessBuilder mBuilder = new ProcessBuilder();
            mBuilder.redirectErrorStream(true);
            Process process = mBuilder.command("java", "-jar", "apktool.jar", "d", "badging", "demo.apk").start();

            InputStream inputStream = process.getInputStream();
            byte[] lineString = StreamTool.readStream(inputStream);
            String result = new String(lineString);
            System.out.println(result);
            
             System.err.println(new String(StreamTool.readStream(process.getErrorStream())));

        } catch (Exception e) {
            e.printStackTrace();
        }
        try {
            Process exec = Runtime.getRuntime().exec("java -jar apktool.jar b badging Targetxx.apk");//ipconfig
            exec.waitFor();

            byte[] lineString = StreamTool.readStream(exec.getInputStream());
            String result = new String(lineString);
            System.out.println(result);

        } catch (Exception e) {
            e.printStackTrace();
        }
           try {
            Process exec = Runtime.getRuntime().exec("java -jar apktool.jar");
            byte[] lineString = StreamTool.readStream(exec.getInputStream());
            String result = new String(lineString);
            System.out.println(result);

            exec.waitFor();
            exec.destroy();
           

            System.out.println(new File(".").getAbsolutePath());
            // ShellUtils.CommandResult commandResult = ShellUtils.execCommand("java -jar apktool.jar", false);
            // System.out.println(commandResult.successMsg);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

java调用shell命令并获取执行结果

使用到Process和Runtime两个类,返回值通过Process类的getInputStream()方法获取 package ark; import java.io.BufferedReade...
  • arkblue
  • arkblue
  • 2012年08月22日 21:34
  • 65818

java 执行bat批处理文件 并关闭cmd窗口

java 执行bat批处理文件 并关闭cmd窗口   import java.io.IOException; public class CmdMain {  public st...
  • andybbc
  • andybbc
  • 2016年01月21日 15:34
  • 1758

Java Runtime.exec 执行shell命令

最近做一个团购文件下载服务的时候,自己偷懒不想写文件下载的逻辑,而且Linux的curl 命令非常强大,于是乎想直接通过Java来执行curl命令做下载。        在Java中,你可以通过Ru...
  • FX_SKY
  • FX_SKY
  • 2015年01月23日 10:54
  • 3145

Android通过代码模拟物理、屏幕点击事件

本文讲的是通过使用代码,可以控制手机的
  • mad1989
  • mad1989
  • 2014年07月25日 11:57
  • 89148

Java执行shell遇到的各种问题

1、基础介绍 Java执行shell需要用到Process类

java实现shell命令--小程序(通过Runtime和Process实现)

Process process = Runtime.getRuntime().exec java.lang.Runtime.getRuntime() 方法返回与当前的Java应用程序的运行时对象。 P...

Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现

前言日常java开发中,有时需要通过java运行其它应用功程序,比如shell命令等。jdk的Runtime类提供了这样的方法。首先来看Runtime类的文档, 从文档中可以看出,每个java程序只会...

Java 调用cmd.exe命令

Java 调用cmd.exe命令关键字: java cmd java的Runtime.getRuntime().exec(commandText)可以调用执行cmd指令。 cmd /c dir 是执行...
  • xys_777
  • xys_777
  • 2011年01月26日 10:11
  • 12913

Java调用命令行并获取执行结果

import java.io.BufferedReader; import java.io.InputStreamReader; public class Command { public sta...
  • prstaxy
  • prstaxy
  • 2014年06月11日 13:52
  • 26610

Java exec jar

今天在学习的Maven的时候需要执行Maven构建出来的jar文件
  • FX_SKY
  • FX_SKY
  • 2014年06月22日 19:46
  • 938
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java exec shell cmd 用法
举报原因:
原因补充:

(最多只允许输入30个字)