![](/img/trans.png)
[英]CommPortIdentifier.getPortIdentifiers() RXTX not listing all ports
[英]CommPortIdentifier.getPortIdentifiers is empty
我正在构建一个使用Java Communication API javax.comm通过串行端口进行通信的简单应用程序。
这是我写的java main方法中的一些代码:
CommPortIdentifier cpi = null;
Enumeration e = CommPortIdentifier.getPortIdentifiers();
while (e.hasMoreElements()) {
try {
cpi = (CommPortIdentifier) e.nextElement();
} catch (NoSuchElementException n) {
}
System.out.println(cpi.getName());
}
枚举e始终为空,即使我在运行时连接到COM 4端口。
另外,运行此代码:
portRead = CommPortIdentifier.getPortIdentifier("COM8");
导致抛出NoSuchPortException
我想我已正确完成安装部分并将属性文件win32com.dll文件放在正确的位置。
你知道问题是什么吗?
谢谢
请记住,您需要将所有解压缩的文件从javax.comm.zip添加到jre
win32com.dll - jre / bin
comm.jar - jre / lib / ext
java.comm.properties - jre / lib (添加后我发现已解决的异常问题)
确保win32com.dll(javax.com附带)位于jre \\ bin目录中。 确保javax.comm.properties(javax.com附带)位于jdk \\ lib目录中。
这适用于我(我安装了x86 jdk)并按照步骤操作
您的问题是Windows无法将正确的PORT传递给您的JAVA程序。
您必须通过以下链接在正确的位置复制正确的文件。
http://kishor15389.blogspot.com/2011/05/how-to-install-java-communications.html
找到您的设备正在工作的端口(尝试使用power shell或hyper terminal查找所有com端口尝试链接 )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.