欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java如何基于ProcessBuilder類調用外部程序

 更新時間:2020年01月02日 11:38:51   投稿:yaominghui  
這篇文章主要介紹了Java如何基于ProcessBuilder類調用外部程序,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

這篇文章主要介紹了Java如何基于ProcessBuilder類調用外部程序,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

1. demo1

@Test
  public void testProcessBuilder() {
    ProcessBuilder processBuilder = new ProcessBuilder();
//    processBuilder.command("ping","127.0.0.1");
    processBuilder.command("ipconfig");
    //將標準輸入流和錯誤輸入流合并,通過標準輸入流讀取信息
    processBuilder.redirectErrorStream(true);
    try {
      //啟動進程
      Process start = processBuilder.start();
      //獲取輸入流
      InputStream inputStream = start.getInputStream();
      //轉成字符輸入流
      InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "gbk");
      int len = -1;
      char[] c = new char[1024];
      StringBuffer outputString = new StringBuffer();
      //讀取進程輸入流中的內容
      while ((len = inputStreamReader.read(c)) != -1) {
        String s = new String(c, 0, len);
        outputString.append(s);
        System.out.print(s);
      }
      inputStream.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }

2. demo02

 @Test
  public void testFFmpeg() {
    ProcessBuilder processBuilder = new ProcessBuilder();
    //定義命令內容
    List<String> command = new ArrayList<>();
    command.add("D:/program/ffmpeg-20191229-e20c6d9-win64-static/bin/ffmpeg.exe");
    command.add("-i");
    command.add("D:/test/video/1.avi");
    command.add("-y");//覆蓋輸出文件
    command.add("-c:v");
    command.add("libx264");
    command.add("-s");
    command.add("1280x720");
    command.add("-pix_fmt");
    command.add("yuv420p");
    command.add("-b:a");
    command.add("63k");
    command.add("-b:v");
    command.add("753k");
    command.add("-r");
    command.add("18");
    command.add("D:/test/video/1.mp4");
    processBuilder.command(command);
    //將標準輸入流和錯誤輸入流合并,通過標準輸入流讀取信息
    processBuilder.redirectErrorStream(true);
    try {
      //啟動進程
      Process start = processBuilder.start();
      //獲取輸入流
      InputStream inputStream = start.getInputStream();
      //轉成字符輸入流
      InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "gbk");
      int len = -1;
      char[] c = new char[1024];
      StringBuffer outputString = new StringBuffer();
      //讀取進程輸入流中的內容
      while ((len = inputStreamReader.read(c)) != -1) {
        String s = new String(c, 0, len);
        outputString.append(s);
        System.out.print(s);
      }
      inputStream.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Java花式解決'分割回文串 ii'問題詳解

    Java花式解決'分割回文串 ii'問題詳解

    最學習動態(tài)規(guī)劃思想的路上,遇見了‘分割回文串問題’,如臨大敵啊,題目聽起來蠻簡單,思考起來卻也沒那么容易,本文將為大家詳細介紹幾種解決分割回文串 ii問題的辦法,需要的可以參考一下
    2021-12-12
  • spring?boot自動裝配之@ComponentScan注解用法詳解

    spring?boot自動裝配之@ComponentScan注解用法詳解

    @ComponentScan的作用就是根據定義的掃描路徑,把符合掃描規(guī)則的類裝配到spring容器中,下面這篇文章主要給大家介紹了關于spring?boot自動裝配之@ComponentScan注解用法的相關資料,需要的朋友可以參考下
    2023-04-04
  • Java常用HASH算法總結【經典實例】

    Java常用HASH算法總結【經典實例】

    這篇文章主要介紹了Java常用HASH算法,結合實例形式總結分析了Java常用的Hash算法,包括加法hash、旋轉hash、FNV算法、RS算法hash、PJW算法、ELF算法、BKDR算法、SDBM算法、DJB算法、DEK算法、AP算法等,需要的朋友可以參考下
    2017-09-09
  • Spring中Bean的生命周期實例講解

    Spring中Bean的生命周期實例講解

    這篇文章主要介紹了Spring中Bean的生命周期講解,而Spring中的一個Bean從開始到結束經歷很多過程,但總體可以分為六個階段Bean定義、實例化、屬性賦值、初始化、生存期、銷毀,需要的朋友可以參考下
    2023-08-08
  • 解決Spring Cloud中Feign/Ribbon第一次請求失敗的方法

    解決Spring Cloud中Feign/Ribbon第一次請求失敗的方法

    這篇文章主要給大家介紹了關于解決Spring Cloud中Feign/Ribbon第一次請求失敗的方法,文中給出了三種解決的方法,大家可以根據需要選擇對應的方法,需要的朋友們下面來一起看看吧。
    2017-02-02
  • Java中 log4j日志級別配置詳解

    Java中 log4j日志級別配置詳解

    這篇文章主要介紹了Java中 log4j日志級別配置詳解,需要的朋友可以參考下
    2018-01-01
  • Java用文件流下載網絡文件示例代碼

    Java用文件流下載網絡文件示例代碼

    這篇文章主要介紹了Java用文件流的方式下載網絡文件,大家參考使用吧
    2013-11-11
  • Netty客戶端接入流程NioSocketChannel創(chuàng)建解析

    Netty客戶端接入流程NioSocketChannel創(chuàng)建解析

    這篇文章主要為大家介紹了Netty客戶端接入流程NioSocketChannel創(chuàng)建源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03
  • 詳解關于IntelliJ IDEA中Schedule for Addition 的問題

    詳解關于IntelliJ IDEA中Schedule for Addition 的問題

    本篇文章主要介紹了詳解關于 IntelliJ IDEA 中 Schedule for Addition 的問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Java遠程共享目錄的操作代碼

    Java遠程共享目錄的操作代碼

    這篇文章主要介紹了java操作遠程共享目錄的實現代碼,非常不粗,具有參考借鑒價值,需要的朋友可以參考下
    2017-08-08

最新評論