无法列出我的笔记本电脑的COM端口(java,cmd)

时间:2015-10-11 12:35:35

标签: java powershell intellij-idea cmd serial-port

使用以下java代码我将列出com端口:

import gnu.io.*;

public class DataInputStream {

    public static void main(String[] args){
        new DataInputStream().listPorts();
    }

    public static void listPorts()
    {
        System.out.println("in listPorts");

        java.util.Enumeration<CommPortIdentifier> portEnum = CommPortIdentifier.getPortIdentifiers();

        while ( portEnum.hasMoreElements() )
        {
            CommPortIdentifier portIdentifier = portEnum.nextElement();
            System.out.println(portIdentifier.getName()  +  " - " +  getPortName(portIdentifier.getPortType()) );
        }
    }

    public static String getPortName ( int portType )
    {
        System.out.println("in getPortName");

        switch ( portType )
        {
            case CommPortIdentifier.PORT_I2C:
                return "I2C";
            case CommPortIdentifier.PORT_PARALLEL:
                return "Parallel";
            case CommPortIdentifier.PORT_RAW:
                return "Raw";
            case CommPortIdentifier.PORT_RS485:
                return "RS485";
            case CommPortIdentifier.PORT_SERIAL:
                return "Serial";
            default:
                return "unknown Type";
        }
    }
}

它在intelliJ中执行,没有任何异常,但没有列出的COM端口。似乎没有达到getPortName方法,因为不打印println。

我也尝试使用cmd命令列出com端口:

C:\>wmic path Win32_SerialPort

并使用powershell命令:

PS> Get-WMIObject Win32_SerialPort

在cmd中,它说“没有可用的实例”。但是,这是什么意思? powershell命令什么都不做。没有错误消息但也没有输出。

但是,我可以在com端口插入设备,而Windows可以识别它们,所以它们显然在工作。我是否需要一些特殊权限才能访问COM端口?我做错了什么?

0 个答案:

没有答案