Discovering available comm ports
From Rxtx
(Difference between revisions)
(Reverting to last version not containing links to keepthefight.50webs.com/description/immagini-folletti.htm) |
TrbocCacel (Talk | contribs) |
||
(23 intermediate revisions not shown) | |||
Line 1: | Line 1: | ||
+ | http://www.textraccale.com | ||
This code snippet shows how to retrieve the available comms ports on your computer. A CommPort is available if it is not being used by another application. Note the difference between the two examples is that the version for JDK 5.0 up uses [http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html generics]: | This code snippet shows how to retrieve the available comms ports on your computer. A CommPort is available if it is not being used by another application. Note the difference between the two examples is that the version for JDK 5.0 up uses [http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html generics]: | ||
Line 18: | Line 19: | ||
h.add(com); | h.add(com); | ||
} catch (PortInUseException e) { | } catch (PortInUseException e) { | ||
- | System.out.println("Port, " | + | System.out.println("Port, " + com.getName() + ", is in use."); |
} catch (Exception e) { | } catch (Exception e) { | ||
- | System.err.println("Failed to open port " | + | System.err.println("Failed to open port " + com.getName()); |
e.printStackTrace(); | e.printStackTrace(); | ||
} | } | ||
Line 46: | Line 47: | ||
h.add(com); | h.add(com); | ||
} catch (PortInUseException e) { | } catch (PortInUseException e) { | ||
- | System.out.println("Port, " | + | System.out.println("Port, " + com.getName() + ", is in use."); |
} catch (Exception e) { | } catch (Exception e) { | ||
- | System.err.println("Failed to open port " | + | System.err.println("Failed to open port " + com.getName()); |
e.printStackTrace(); | e.printStackTrace(); | ||
} | } |
Latest revision as of 01:23, 10 July 2009
http://www.textraccale.com This code snippet shows how to retrieve the available comms ports on your computer. A CommPort is available if it is not being used by another application. Note the difference between the two examples is that the version for JDK 5.0 up uses generics:
JDK <= 1.4
/** * @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) { System.out.println("Port, " + com.getName() + ", is in use."); } catch (Exception e) { System.err.println("Failed to open port " + com.getName()); e.printStackTrace(); } } } return h; }
JDK >= 5.0
/** * @return A HashSet containing the CommPortIdentifier for all serial ports that are not currently being used. */ public static HashSet<CommPortIdentifier> getAvailableSerialPorts() { HashSet<CommPortIdentifier> h = new HashSet<CommPortIdentifier>(); 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) { System.out.println("Port, " + com.getName() + ", is in use."); } catch (Exception e) { System.err.println("Failed to open port " + com.getName()); e.printStackTrace(); } } } return h; }