使用javax .com重新枚举java中的所有串行设备



这是我为设备枚举实现的代码。我能够检测和显示所有连接的串行设备。但是假设我连接了另一个设备,然后尝试调用这个函数,它总是显示在第一次运行代码时连接的设备。

代码Snipet:

public void Listports() {
    Enumeration ports = null;
    ports  = CommPortIdentifier.getPortIdentifiers();
    CommPortIdentifier portId = null;
    {
        while (ports.hasMoreElements()) {
             portId = (CommPortIdentifier) ports.nextElement();
            if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL){                    
                System.out.println(portId.getName());
            }
        }
    }
}

。例如,第一次调用该函数,显示COM1和COM3。

现在假设COM27上加载了一个连接的串行设备。因此,如果我们重新运行代码,它只显示COM1和COM3,而没有COM27。

另一个场景,在我第一次运行代码之前,在COM27上加载了一个串行设备。现在第一次运行它显示COM1,COM3,COM27。现在移除COM27设备并重新运行上面的代码,它仍然显示COM27已连接。

在这方面的任何帮助都是非常感谢的。

谢谢,Abhi

通信端口API

你只是得到一个列表的通信端口,你可以然后,例如,如果端口是由某些应用程序拥有或使用isCurrentlyOwned()

基本上只是迭代一个列表并不能告诉你列表中的任何东西,直到你进一步测试它。

相关内容

  • 没有找到相关文章

最新更新