「java调用命令行工具」javac命令行工具用来
本篇文章给大家谈谈java调用命令行工具,以及javac命令行工具用来对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java程序里如何调用linux命令?
- 2、Android-java怎么调用命令行的命令
- 3、java编写一个命令行工具,执行常见的命令,如dir,md,copy,move等
- 4、用java编写一个命令行工具,执行常见的命令,如dir,md,copy,move等.
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调用命令行工具的信息别忘了在本站进行查找喔。