「java调用命令行工具」javac命令行工具用来

博主:adminadmin 2023-01-10 18:45:10 863

本篇文章给大家谈谈java调用命令行工具,以及javac命令行工具用来对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java程序里如何调用linux命令?

Java可以通过Runtime调用Linux命令,形式如下:

Runtime.getRuntime().exec(command)

但是这样执行时没有任何输出,因为调用Runtime.exec方法将产生一个本地的进程,并返回一个Process子类的实例(注意:Runtime.getRuntime().exec(command)返回的是一个Process类的实例)该实例可用于控制进程或取得进程的相关信息。

由于调用Runtime.exec方法所创建的子进程没有自己的终端或控制台,因此该子进程的标准IO(如stdin,stdou,stderr)都通过Process.getOutputStream(),Process.getInputStream(),Process.getErrorStream()方法重定向给它的父进程了。

用户需要用这些stream来向子进程输入数据或获取子进程的输出,下面的代码可以取到linux命令的执行结果:

try{

String[]cmd=newString[]{”/bin/sh”,“-c”,”ls“};

Processps=Runtime.getRuntime().exec(cmd);

BufferedReaderbr=newBufferedReader(newInputStreamReader(ps.getInputStream()));

StringBuffersb=newStringBuffer();

Stringline;

while((line=br.readLine())!=null){

sb.append(line).append(”\n”);

}

Stringresult=sb.toString();

System.out.println(result);

}catch(Exceptione){

e.printStackTrace();

}

Android-java怎么调用命令行的命令

Android-java调用命令行的命令可以使用Runtime类实现。

比如定义执行命令的方法:

public void execCommand(String command) throws IOException {

Runtime runtime = Runtime.getRuntime(); //申明runtime

Process proc = runtime.exec(command); //开始执行命令

try {

if (proc.waitFor() != 0) { //执行完成

System.err.println("exit value = " + proc.exitValue());

}

BufferedReader in = new BufferedReader(new InputStreamReader(

proc.getInputStream()));

StringBuffer stringBuffer = new StringBuffer();

String line = null;

while ((line = in.readLine()) != null) {

stringBuffer.append(line+"-");

}

//打印缓冲区

System.out.println(stringBuffer.toString());

} catch (InterruptedException e) {

System.err.println(e);

}

}

调用方法:

// 按钮点击事件

public void execute(View v) {

try {

execCommand("ls");

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

java编写一个命令行工具,执行常见的命令,如dir,md,copy,move等

main函数的参数String[] args,就是处理这些参数的。

你可以在main程序里用循环去读args[i],再一个一个判断是否是你预定的-t、-p、-c等内容。

如果发现没有带参数,也就是args的length是0,则直接输出一个字符串,该字符串的内容就是你想提示给用户的各种命令的用法。

如果用户输入 java xxx -t t1 -p p1 (这里xxx就是你的class名)

那么args这个数组就是:{"-t","t1","-p","p1"}

用java编写一个命令行工具,执行常见的命令,如dir,md,copy,move等.

import java.io.BufferedReader;

import java.io.InputStream;

import java.io.InputStreamReader;

public class Demo {

    public static void main(String[] args) throws Exception {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        while(true){

            getCMD(br.readLine());

        }

    }

    private static void getCMD(String cmd)throws Exception{

        Process p = Runtime.getRuntime().exec("cmd /c "+cmd);

        InputStream is = p.getInputStream();

        byte[] b = new byte[1024];

        int len = 0;

        while((len=is.read(b))!=-1){

            System.out.print(new String(b,0,len));

        }

        is.close();

    }

}

//程序中没写全,其它功能自己完善一下吧,创建文件、删除文件等可以实现。

java调用命令行工具的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于javac命令行工具用来、java调用命令行工具的信息别忘了在本站进行查找喔。