I just run some codes to get a list of available ports n my cmputer and it returned me false when I have 3 com ports that are free. How do I solve this prob?
My codes:
public static void main(String[] args) {
//SerialParameters params=new SerialParameters();
// System.out.println(CommPortIdentifier.PORT_SERIAL );
Enumeration portList = CommPortIdentifier.getPortIdentifiers();
System.out.println(portList.hasMoreElements());
while(portList.hasMoreElements()){
System.out.println("Has more elements");
CommPortIdentifier portId = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_PARALLEL) {
System.out.println(portId.getName());
}
else{
System.out.println(portId.getName());
}
}
}
Output :
false
解决方案
It appears your setup of the javax.comm API may not be correct. Make sure you have done the following:
Placed the comm.jar file in the jre/lib/ext directory.
Placed the javax.comm.properties file in the jre/lib directory.
Placed the win32com.dll in the jre/bin directory.
Each of the above components "should" be available here.