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