我正在使用 Java 框架,我需要检查空闲的串行 COM 端口(未被任何其他应用程序打开)。是否可以在 Java 中进行检查?一个警告是我不能向应用程序添加任何包,我只能使用标准 Java 类。
有任何想法吗?
我正在使用 Java 框架,我需要检查空闲的串行 COM 端口(未被任何其他应用程序打开)。是否可以在 Java 中进行检查?一个警告是我不能向应用程序添加任何包,我只能使用标准 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()