Java ruft den Befehl cmd auf und gibt die Anzeigeinformationen aus:
Paket com.anxin.cmd.test; Import Java.io.BufferedReader; importieren java.io.inputStreamReader; public class Command {public static void main (String [] args) {try {runTime rt = runTime.getRuntime (); Process pr = rt.exec ("cmd /c reichen"); // cmd/c calc // process pr = rt.exec ("d: //xunlei//project.aspx"); BufferedReader input = neuer bufferedReader (neuer InputStreamReader (pr.getInputStream (), "gbk"); String line = null; while ((line = input.readline ())! = null) {System.out.println (Zeile); } int exitval = pr.waitfor (); System.out.println ("mit Fehlercode beendet" + exitval); } catch (Ausnahme e) {System.out.println (e.toString ()); E. printstacktrace (); }}}Es gibt drei Möglichkeiten, wie Java native Anwendungs -Exe startet:
Die erste Methode: Verwenden Sie die CMD -Methode
/ ** * Führen Sie den Befehl cmd aus * * @param * @throws ioException */ public static String executecmd (String -Befehl) löscht IOException {log.info ("Befehl aus. RunTime runtime = runtime.getRuntime (); Process process = runtime.exec ("cmd /c" + Befehl); BufferedReader BR = neuer BufferedReader (neuer InputStreamReader (process.getInputStream (), "utf-8"); String line = null; StringBuilder Build = new StringBuilder (); while ((line = br.readline ())! = null) {log.info (Zeile); Build.Append (Linie); } return Build.toString (); } executecmd (starten "axadwebbrowser" "d: /axadsbrowser/axadwebbrowser.exe"); Die zweite Methode: Verwenden Sie ProcessBuilder, um die CMD -Methode aufzurufen
/ ** * Starten Sie die Anwendung * * @param programmname * @return * @throws ioException */ public static void startprogram (String programpath) löscht IoException {log.info ("Start der Anwendung:" + programpath); if (stringutils.isnotblank (programpath)) {try {String programmname = programpath.substring (programpath.lastindexof ("/") + 1, programpath.lastindexof (".")); Liste <String> list = new ArrayList <string> (); list.add ("cmd.exe"); list.add ("/c"); list.add ("start"); list.add ("/" " + programmname +"/""); list.add ("/" " + programpath +"/""); ProcessBuilder pbuilder = new ProcessBuilder (Liste); pbuilder.start (); } catch (Ausnahme e) {e.printstacktrace (); log.Error ("Anwendung:" + programpath + "nicht existieren!"); }}} Der dritte Weg: Verwenden Sie den Desktop, um die Anwendung zu starten
/ ** * Starten Sie die Anwendung * * @param programmname * @return * @throws ioException */ public static void startprogram (String programpath) löscht IoException {log.info ("Start der Anwendung:" + programpath); if (stringutils.isnotblank (programpath)) {try {Desktop.getDesktop (). Open (neue Datei (programpath)); } catch (Ausnahme e) {e.printstacktrace (); log.Error ("Anwendung:" + programpath + "nicht existieren!"); }}}