我使用以下代码来识别这些命令。在我的系统中,有三个端口,但是在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

07-28 00:49
查看更多