我使用以下代码来识别这些命令。在我的系统中,有三个端口,但是在ports.hasMoreElements()
方法中显示为false。我还在库中添加了comm.jar,并且我正在使用Windows XP(Service Pack 3)。请查看代码并为我提供帮助。
import java.util.*;
import javax.comm.*;
public class Main
{
public static void main(String[] args)
{
Enumeration ports = CommPortIdentifier.getPortIdentifiers();
System.out.println(ports.hasMoreElements());
while(ports.hasMoreElements())
{
CommPortIdentifier cpi =
(CommPortIdentifier)ports.nextElement();
System.out.println("Port " + cpi.getName());
}
}
}
提前致谢..
最佳答案
获取Java Communications API与Windows系统正确交互涉及一些技巧。从Sun下载的项目中有三个非常重要的文件:
comm.jar
win32com.dll
javax.comm.properties
为了使JVM能够识别串行端口,正确放置这些文件很重要。
使用以下安装方法可以有效:
comm.jar应该放在:
%JAVA_HOME%/lib
%JAVA_HOME%/jre/lib/ext
win32com.dll应该放在:
%JAVA_HOME%/bin
%JAVA_HOME%/jre/bin
%windir%System32
javax.comm.properties应该放在:
%JAVA_HOME%/lib
%JAVA_HOME%/jre/lib