如何使用供应商id列出已连接的USB端口号,使用java列出产品id



在java中,使用供应商id和产品id显示连接的USB端口号的最佳API是什么?

您可以使用简单的javax.comm API列出所有串行端口

import javax.comm.*;
import java.util.Enumeration;
public class ListPorts {
public static void main(String args[]) {
Enumeration ports = CommPortIdentifier.getPortIdentifiers();
while (ports.hasMoreElements()) {
CommPortIdentifier port = (CommPortIdentifier)ports.nextElement();
String type;
switch (port.getPortType()) {
case CommPortIdentifier.PORT_SERIAL:
type = "Serial"; 
break;
default: /// Shouldn't happen
type = "Unknown"; 
break;
}
System.out.println(port.getName() + ": " + type);
}
}
}

输出将类似于

COM1: Serial
COM2: Serial
COM7: Serial

编辑:另请参阅一篇关于创建和使用IBMLotus提供的实时端口监控应用程序的好博客
同样,通过在windows和linux中使用jusb,您可以进行您想要的读写操作。您可以在这里找到一个示例

我刚刚找到了一个很好的方法,可以使用JserialComm.jar库获取java中的所有端口名称

private void getports() {
    ArrayList dataarr = new ArrayList();
    SerialPort[] ar = SerialPort.getCommPorts();
    int i = 0;
    while (i < ar.length) {
        String PortCom = ar[i].getDescriptivePortName();
        dataarr.add(PortCom);
        ++i;
    }
}

最新更新