システムBPMNによって実行されるスクリプトタスクがあり、シェルスクリプトは、システムのタスクスクリプトの課題である、シェルスクリプトは、Javaである使用。
java.lang.ProcessBuilderためProcessBuilderをクラスコード。あなたはJAVAAPIを参照するか、ブログができhttps://blog.csdn.net/u013256816/article/details/54603910を
もちろん、可能()メソッド幹部java.lang.Runtimeシェルスクリプトクラス。
1 パッケージcom.alphajuns。 2 3 インポートorg.junit.Test。 4 5 インポート java.io. * 。 6 インポートjava.util.ArrayListの。 7 インポートjava.util.Listに。 8 9 パブリック クラスCMDCommandTest { 10 11 @Test 12 公共 ボイドラン()はスローにIOException { 13 // 创建命令集合 14 リストの<string> commandList = 新規のArrayList <ストリング> (); 15 commandList.add( "CMD" ); 16 commandList.add( "/ C"); // 実行後に閉じる 17。 commandList.add( "エコー" ); 18は commandList.add( "こんにちは" ) 。19 commandList.add (「CMD」); 20である // ProcessBuilderをオペレーティングシステムのタイプを作成するための処理であるが、そのstart()メソッドを開始するために使用される 21は ProcessBuilderをProcessBuilderを= 新しい新しいProcessBuilderを(CommandList); 22である // プロセス開始 23は、 プロセス工程= ProcessBuilder.start(); 24 // 出力解析 25 文字列結果を=convertStreamToStr(process.getInputStream())。 26 のSystem.out.println(結果)。 27 } 28 29 公衆ストリングconvertStreamToStrは、(入力ストリームである)スローにIOException { 30を 場合(!ある= NULL ){ 31 ライターライター= 新しいにStringWriter()。 32 のchar []バッファ= 新しい CHAR [1024 ]。 33 試み{ 34 リーダーリーダー= 新しい BufferedReaderの(新しい InputStreamReaderの(で、 "UTF-8" )); 35 INT N。 36 一方、((N = reader.read(バッファ))= -1!){ 37 writer.write(バッファ、0 、N) 38 } 39 } キャッチ(にUnsupportedEncodingException電子){ 40 e.printStackTrace(); 41 } キャッチ(IOExceptionを電子){ 42 e.printStackTrace(); 43 } 最後に{ 44 is.close()。 45 } 46 リターンwriter.toString()。 47 } 他{ 48 リターン "" 。 49 } 50 } 51 }
JUnitのテスト結果を添付