Я знаю, что этот вопрос задавался много раз, и я просмотрел 20 лучших результатов поиска от Google, и все еще не могу заставить свой код работать.
portList = CommPortIdentifier.getPortIdentifiers();
System.out.println("portList... " + portList);
while (portList.hasMoreElements()) {
portId = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
System.out.println("port identified is Serial.. "+ portId.getPortType());
if (portId.getName().equals("COM2")) {
System.out.println("port identified is COM2.. "+ portId.getName());
SimpleRead reader = new SimpleRead();
} else {
System.out.println("unable to open port");
}
}else{
System.out.println("pordId.PortType = "+portId.getPortType());
System.out.println("CommPortIdentifier.PORT_SERIAL = "+CommPortIdentifier.PORT_SERIAL);
}
}
Я получаю вывод
run:
portList ... javax.comm.CommPortEnumerator@18020cc
СТРОИТЬ УСПЕШНО (общее время: 0 секунд)
Кто-нибудь знает, что не так? почему portId не имеет больше элементов? программа не входит в цикл while.
Заранее спасибо за чтение этого поста.