如何使用Java获取我的电脑中可用串口的列表?

时间:2010-12-20 19:46:43

标签: java serial-port javax.comm

我只是运行一些代码来获取我的cmputer中的可用端口列表,当我有3个免费的COM端口时,它返回了我的错误。我该如何解决这个问题?

我的代码:

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());
               }

        }
}

输出: 假

3 个答案:

答案 0 :(得分:4)

您的javax.comm API设置可能不正确。确保您已完成以下操作:

  1. comm.jar文件放在jre/lib/ext目录中。
  2. javax.comm.properties文件放在jre/lib目录中。
  3. win32com.dll放在jre/bin目录中。
  4. 上述每个组件"应该"可用here

答案 1 :(得分:0)

我正在使用ubuntu而我的电脑没有任何串行/并行端口。

在这种情况下,您需要模拟此端口。

我的回答:

serial port identification with java on ubuntu

答案 2 :(得分:-1)

如果你碰巧做了我天真所做的事情,我有一个额外的答案。

我刚刚忘记将我的用户添加到 dialout 组,结果是找不到串口,而我的 /dev/ttyUSB0 被正确转发到我的 Lubuntu 机器的 VirtualBox 实例。