在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;
}
}