0

私は Java フレームワークを使用しており、空いている (他のアプリケーションによって開かれていない) シリアル COM ポートを確認する必要があります。これをJavaで確認することはできますか?1 つの注意点は、アプリケーションにパッケージを追加できないことです。標準の Java クラスのみを使用する必要があります。

何か案は?

4

1 に答える 1

0

これはJDK 1.6.0_21を使用して機能しjavax.comm、Sun/Oracleによるものですが、別のインストールとして標準のJavaクラスであるという定義を満たしているかどうかはわかりません。

import java.util.Enumeration;
import javax.comm.CommPortIdentifier;


public class PortList {
  public static void main(String[] args) {
    Enumeration<?> ports = CommPortIdentifier.getPortIdentifiers();
    StringBuffer buffer =  new StringBuffer("Ports:\n");
    while (ports.hasMoreElements()) {
      CommPortIdentifier port = (CommPortIdentifier) ports.nextElement();
      String type;
      switch (port.getPortType()) {
      case CommPortIdentifier.PORT_PARALLEL:
        type = "Parallel";
        break;
      case CommPortIdentifier.PORT_SERIAL:
        type = "Serial";
        break;
      default: /// Shouldn't happen
        type = "Unknown";
        break;
      }
      buffer.append(String.format("%s : %s Owner: %s\n",port.getName(),type,port.getCurrentOwner()));

    }
    System.out.println(buffer.toString());
  }
}

重要なメソッド/クラスは CommPortIdentifier.getPortIdentifiers()

于 2012-08-16T15:46:28.360 に答える