2014-01-20 46 views
0

我想在PC中的可用端口列表我在java中使用此代碼,但獲得迴應 我導入javax.comm liabrary。請短路我的問題如何檢查電腦上的可用端口?

感謝

import java.util.Enumeration; 

import javax.comm.CommPortIdentifier; 


public class CommPortLister { 

    /** Simple test program. */ 
    public static void main(String[] ap) { 
    new CommPortLister().list(); 
    } 

    /** Ask the Java Communications API * what ports it thinks it has. */ 
    protected void list() { 
    // get list of ports available on this particular computer, 
    // by calling static method in CommPortIdentifier. 
    Enumeration pList = CommPortIdentifier.getPortIdentifiers(); 

    // Process the list. 
    while (pList.hasMoreElements()) { 
     CommPortIdentifier cpi = (CommPortIdentifier) pList.nextElement(); 
     System.out.print("Port " + cpi.getName() + " "); 
     if (cpi.getPortType() == CommPortIdentifier.PORT_SERIAL) { 
     System.out.println("is a Serial Port: " + cpi); 
     } else if (cpi.getPortType() == CommPortIdentifier.PORT_PARALLEL) { 
     System.out.println("is a Parallel Port: " + cpi); 
     } else { 
     System.out.println("is an Unknown Port: " + cpi); 
     } 
    } 
    } 
} 

回答

1

我一直在使用RXTX庫成功地做你嘗試使用RXTX做.Equivalent代碼同樣的事情:

import gnu.io.*; 
    static void listPorts() 
    { 
     java.util.Enumeration<CommPortIdentifier> portEnum = CommPortIdentifier.getPortIdentifiers(); 
     while (portEnum.hasMoreElements()) 
     { 
      CommPortIdentifier portIdentifier = portEnum.nextElement(); 
      System.out.println(portIdentifier.getName() + " - " + getPortTypeName(portIdentifier.getPortType())); 
     }   
    } 

    static String getPortTypeName (int portType) 
    { 
     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"; 
     } 
} 
相關問題