File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Other JSE/JEE APIs and the fly likes Getting available ports using Javax.comm Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of REST with Spring (video course) this week in the Spring forum!
JavaRanch » Java Forums » Java » Other JSE/JEE APIs
Bookmark "Getting available ports using Javax.comm" Watch "Getting available ports using Javax.comm" New topic

Getting available ports using Javax.comm

umar hathab
Ranch Hand

Joined: Aug 20, 2001
Posts: 52
Hi friends,
I was trying to get the available port using the following sample program.But I couldnt get any output.
can u help me?

import java.util.*;
import javax.comm.*;
public class SimpleWrite {
static Enumeration portList;
static CommPortIdentifier portId;
static String messageString = "Hello, world!\n";
static SerialPort serialPort;
static OutputStream outputStream;
public static void main(String[] args) throws NoSuchPortException

portList = CommPortIdentifier.getPortIdentifiers();

while (portList.hasMoreElements())
portId = (CommPortIdentifier) portList.nextElement();

if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL)
// if (portId.getName().equals("COM1")) {
if (portId.getName().equals("/dev/term/a"))
try {
serialPort = (SerialPort)"SimpleWriteApp", 2000);
} catch (PortInUseException e) {}
try {
outputStream = serialPort.getOutputStream();
} catch (IOException e) {}
try {
} catch (UnsupportedCommOperationException e) {}
try {
} catch (IOException e) {}

I am getting the following error.(It tells there is no elements in the Enumeration)
Error loading win32com: java.lang.UnsatisfiedLinkError: no win32com in java.library.path

Sun Certified Java Programmer for Java 2.0 (93%) <p>----Winners always make the learning a habit
Jamie Young
Ranch Hand

Joined: Jun 19, 2001
Posts: 31
Error loading win32com: java.lang.UnsatisfiedLinkError: no win32com in java.library.path
Sounds like you either have your DLL located in the wrong directory or you do not have it in the correct path. Have yo installed the comapi properly?
Check that your Dll are located inside;
javax.comm DLL in the lib directory inside the jdk directory
win32.comm DLL in the bin directory inside the jdk directory
Then depending on your compiler you will need to set the paths for all required libraries.
atin banerjee

Joined: Apr 03, 2010
Posts: 1
I followed Jamie Young's instructions and it worked. However here is something I felt to add:

1) In order for the Java communications API to find ports the file must be in the correct place. The preferred location
is in <jdk>/lib. In case you are using just a JRE installation, then it should be in <jre>/lib directory.

2) The win32comm.dll should be placed in the <jdk>/bin directory (as suggested by Jamie) or in case you
just have a JRE installation then it should be placed in the <jre>/bin directory.
Chathu Dan

Joined: Mar 09, 2012
Posts: 10
Get Available COM ports using Java comm API
Get Available COM ports in Java

It is sorta covered in the JavaRanch Style Guide.
subject: Getting available ports using Javax.comm
It's not a secret anymore!