Java如何基于ProcessBuilder类调用外部程序

  

这篇文章主要介绍了Java如何基于ProcessBuilder类调用外部程序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

  

1。demo1

        @Test   公共空间testProcessBuilder () {   ProcessBuilder ProcessBuilder=new ProcessBuilder ();//processBuilder.command(“平”、“127.0.0.1);   processBuilder.command (“ipconfig”);//将标准输入流和错误输入流合,并通过标准输入流读取信息   processBuilder.redirectErrorStream(真正的);   尝试{//启动进程   过程开始=processBuilder.start ();//获取输入流   InputStream InputStream=start.getInputStream ();//转成字符输入流   InputStreamReader InputStreamReader=new InputStreamReader (inputStream,“gbk”);   int len=1;   char [] c=新char [1024];   StringBuffer outputString=new StringBuffer ();//读取进程输入流中的内容   在((len=inputStreamReader.read (c)) !=1) {   字符串s=新的字符串(c, 0, len);   outputString.append(年代);   System.out.print(年代);   }   inputStream.close ();   }捕捉(IOException e) {   e.printStackTrace ();   }   }      

癑ava如何基于ProcessBuilder类调用外部程序"

  

2。demo02

        @Test   公共空间testFFmpeg () {   ProcessBuilder ProcessBuilder=new ProcessBuilder ();//定义命令内容   List命令=new ArrayList<在();   command.add (“D:/计划/ffmpeg - 20191229 - e20c6d9 win64静态/bin/ffmpeg.exe”);   command.add(“我”);   command.add (“D:/测试/视频/1. avi”);   command.add("是");//覆盖输出文件   command.add (“v - c:”);   command.add (“libx264”);   command.add (“s”);   command.add (“1280 x720”);   command.add (“-pix_fmt”);   command.add (“yuv420p”);   command.add (“- b:”);   command.add (63 k);   command.add (“v - b:”);   command.add (753 k);   command.add (- r);   command.add (18);   command.add (“D: 1./测试/视频/mp4”);   processBuilder.command(命令);//将标准输入流和错误输入流合,并通过标准输入流读取信息   processBuilder.redirectErrorStream(真正的);   尝试{//启动进程   过程开始=processBuilder.start ();//获取输入流   InputStream InputStream=start.getInputStream ();//转成字符输入流   InputStreamReader InputStreamReader=new InputStreamReader (inputStream,“gbk”);   int len=1;   char [] c=新char [1024];   StringBuffer outputString=new StringBuffer ();//读取进程输入流中的内容   在((len=inputStreamReader.read (c)) !=1) {   字符串s=新的字符串(c, 0, len);   outputString.append(年代);   System.out.print(年代);   }   inputStream.close ();   }捕捉(IOException e) {   e.printStackTrace ();   }   }      

癑ava如何基于ProcessBuilder类调用外部程序"

  

癑ava如何基于ProcessBuilder类调用外部程序"

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

Java如何基于ProcessBuilder类调用外部程序