Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะรันโปรแกรมภายนอกเช่น windows media player ใน Java ได้อย่างไร?


การใช้คลาสรันไทม์

Java จัดเตรียมคลาสชื่อ java.lang.Runtime โดยใช้คลาสนี้ คุณสามารถเชื่อมต่อกับสภาพแวดล้อมปัจจุบันได้

getRunTime() (คงที่) เมธอดของคลาสนี้ส่งคืนอ็อบเจ็กต์รันไทม์ที่เชื่อมโยงกับแอปพลิเคชันปัจจุบัน

เมธอด exec() ยอมรับค่าสตริงที่แสดงคำสั่งเพื่อดำเนินการกระบวนการในสภาพแวดล้อมปัจจุบัน (ระบบ) และดำเนินการ

ดังนั้น เพื่อรันแอปพลิเคชันภายนอกโดยใช้คลาสรันไทม์ -

  • รับวัตถุรันไทม์โดยใช้ getRuntime() วิธีการ

  • ดำเนินการตามกระบวนการที่จำเป็นโดยส่งพา ธ ของมันเป็นค่าสตริงไปยัง exec() วิธีการ

ตัวอย่าง

import java.io.IOException;
public class Trail {
   public static void main(String args[]) throws IOException {
      Runtime run = Runtime.getRuntime();
      System.out.println("Executing the external program . . . . . . . .");
      String file = "C:\\Program Files\\Windows Media Player\\wmplayer.exe";
      run.exec(file);
   }
}

ผลลัพธ์

System.out.println("Executing the external program . . . . . . . .

การใช้คลาส ProcessBuilder

ในทำนองเดียวกัน ตัวสร้างของ ProcessBuilder class ยอมรับตัวแปรอาร์กิวเมนต์ประเภท string แทนคำสั่งเพื่อดำเนินการกระบวนการและอาร์กิวเมนต์เป็นพารามิเตอร์และสร้างวัตถุ

เริ่มต้น() เมธอดของคลาสนี้เริ่มต้น/ดำเนินการกระบวนการใน ProcessBuilder ปัจจุบัน ดังนั้น เพื่อเรียกใช้โปรแกรมภายนอกโดยใช้ คลาส ProcessBuilder

  • สร้างอินสแตนซ์คลาส ProcessBuilder โดยส่งคำสั่งเพื่อดำเนินการโปรเซสและอาร์กิวเมนต์สำหรับคลาสเป็นพารามิเตอร์ไปยังคอนสตรัคเตอร์

  • ดำเนินการตามกระบวนการโดยเรียกใช้ start() เมธอดบนวัตถุที่สร้างขึ้นด้านบน

ตัวอย่าง

import java.io.IOException;
public class ExternalProcess {
   public static void main(String args[]) throws IOException {
      String command = "C:\\Program Files\\Windows Media Player\\wmplayer.exe";
      String arg = "D:\\sample.mp3";
      //Building a process
      ProcessBuilder builder = new ProcessBuilder(command, arg);
      System.out.println("Executing the external program . . . . . . . .");
      //Starting the process
      builder.start();
   }
}

ผลลัพธ์

Executing the external program . . . . . . . .