JavaはCMDコマンドを呼び出し、表示情報を出力します。
パッケージcom.anxin.cmd.test; java.io.bufferedreaderをインポートします。 java.io.inputStreamReaderをインポートします。 public class command {public static void main(string [] args){try {runtime rt = runtime.getRuntime();プロセスpr = rt.exec( "cmd /c dir"); // cmd/c calc //プロセスpr = rt.exec( "d://xunlei//project.aspx"); BufferedReader input = new BufferedReader(new inputStreamReader(pr.getInputStream()、 "gbk"));文字列line = null; while((line = input.readline())!= null){system.out.println(line); } int exitval = pr.waitfor(); system.out.println( "エラーコードで終了" + exitval); } catch(Exception e){System.out.println(e.toString()); e.printstacktrace(); }}}Javaがネイティブアプリケーションのexeを開始する3つの方法があります。
最初の方法:CMDメソッドを使用します
/ ** * cmdコマンドを実行 * * @paramコマンド * @throws ioexception */ public static string executecmd(string command)throws ioexception {log.info( "execute command:" + command); Runtime Runtime = runtime.getRuntime();プロセスプロセス= runtime.exec( "cmd /c" +コマンド); BufferedReader BR = new BufferedReader(new inputStreamReader(process.getInputStream()、 "utf-8"));文字列line = null; stringbuilder build = new StringBuilder(); while((line = br.readline())!= null){log.info(line); build.append(line); } return build.toString(); } executecmd(axadwebbrowser "" d:/axadsbrowser/axadwebbrowser.exe "); 2番目の方法:ProcessBuilderを使用してCMDメソッドを呼び出します
/ ** *アプリケーションの開始 * * @param programname * @return * @throws ioexception */ public static void startprogram(string programpath)throws ioexception {log.info( "Application:" + programpath); if(stringutils.isnotblank(programpath)){try {string programname = programpath.substring(programpath.lastindexof( "/") + 1、programpath.lastindexof( "。")); List <String> list = new ArrayList <String>(); list.add( "cmd.exe"); list.add( "/c"); list.add( "start"); list.add( "/" " + programName +"/""); list.add( "/" " + programpath +"/""); ProcessBuilder pbuilder = new ProcessBuilder(list); pbuilder.start(); } catch(Exception e){e.printstacktrace(); log.error( "アプリケーション:" + programpath + "存在しない!"); }}} 3番目の方法:デスクトップを使用してアプリケーションを開始します
/ ** *アプリケーションの開始 * * @param programname * @return * @throws ioexception */ public static void startprogram(string programpath)throws ioexception {log.info( "Application:" + programpath); if(stringutils.isnotblank(programpath)){try {desktop.getdesktop()。open(new file(programpath)); } catch(Exception e){e.printstacktrace(); log.error( "アプリケーション:" + programpath + "存在しない!"); }}}