这篇文章主要介绍了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 (); } }
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 (); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。