Discovering available comm ports

From Rxtx

(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
 +
  This code snippet shows how to iretrive the available comms ports on your computer. A CommPort is available if it is not being used by another application:
 +
   /**
   /**
     * @return    A HashSet containing the CommPortIdentifier for all serial ports that are not currently being used.
     * @return    A HashSet containing the CommPortIdentifier for all serial ports that are not currently being used.

Revision as of 17:01, 27 November 2006

  This code snippet shows how to iretrive the available comms ports on your computer. A CommPort is available if it is not being used by another application:
  /**
    * @return    A HashSet containing the CommPortIdentifier for all serial ports that are not currently being used.
    */
   public static HashSet getAvailableSerialPorts() {
       HashSet h = new HashSet();
       Enumeration thePorts = CommPortIdentifier.getPortIdentifiers();
       while (thePorts.hasMoreElements()) {
           CommPortIdentifier com = (CommPortIdentifier) thePorts.nextElement();
           switch (com.getPortType()) {
           case CommPortIdentifier.PORT_SERIAL:
               try {
                   CommPort thePort = com.open("CommUtil", 50);
                   thePort.close();
                   h.add(com);
               } catch (PortInUseException e) {
                   if (log.isInfoEnabled()) {
                       log.info("Port, " + com.getName() + ", is in use.");
                   }
               } catch (Exception e) {
                   if (log.isErrorEnabled()) {
                       log.error("Failed to open port " + com.getName(), e);
                   }
               }
           }
       }
       return h;
   }
Personal tools