Dafür brauchst du eine spezielle Libary. Ich kann dir leider nicht verraten, wo man die bekommt, aber ich kann dir sagen wie sie heißt: javax.comm

Zu dem Thema gibt es in Software, Algorithmen und KI auch einen Thread mit einer ähnlichen Frage. Da geht es um die Steuerung des COM-Ports über eine Website mithilfe eines Applets.

Hier ist ein Codefetzen (copyright Jochen Steinmann):

Code:
class RS232Driver 
{
	/**Vector für Dateneinlesen*/
	public static Vector rs232vector = new Vector();
    /** Port-Identifier*/
    public static CommPortIdentifier portId;
    /**Serielle Schnittstelle*/
    public static SerialPort RS232port;
    /** RS232-Input-Stream*/ 
    public static InputStream RS232in;
    /** RS232-Output-Stream*/
    public static OutputStream RS232out;  	
	PrintWriter Out;
	/**Methode zum Testen des Vektors*/
	public void testvector()
	{
		for(int i=0;i<50;i++)
		{
			rs232vector.add("test");
		}
		checkvector();
	}
	/**Port öffnen*/
    public void openport(String comname,PrintWriter Out)
    {
        try
        {
            CommPortIdentifier cpi = CommPortIdentifier.getPortIdentifier(comname);
            if(cpi.getPortType() == cpi.PORT_SERIAL)
            {
                RS232port = (SerialPort)cpi.open("server",1000);
                RS232port.setSerialPortParams(9600,RS232port.DATABITS_8,
                                                 RS232port.STOPBITS_1,
                                                 RS232port.PARITY_NONE);
                RS232port.enableReceiveTimeout(2000);
                System.out.println("        "+RS232port.getName()+" wurde geöffnet");
                Out.println("Schnittstelle geoeffnet
");
            }
        }
        catch(Exception e)
        {
            Out.println(e);
            System.out.println(e);
        }
        try 
        {
            RS232in = RS232port.getInputStream();
            RS232port.notifyOnDataAvailable(true); 
            RS232out = RS232port.getOutputStream(); 
            RS232port.addEventListener(new commListener());
        }
        catch (Exception e) { System.out.println("Fehler: "+e);}
    }
    /** Serielle Schnittstelle schliessen */
    public static void closeRS232()
    {
        if(RS232port != null)
        {
            RS232port.close();
            //Out.println("        Schnittstelle wurde geschlossen");
        }
    }
    /** STRING auf die RS232 ausgeben*/
    public void writeRS232(String ausgabe,PrintWriter Out)
    {
        if (RS232port != null)
        {
            PrintWriter aus = new PrintWriter(RS232out);
              aus.println(ausgabe);
              aus.flush();
              aus.close();
         } 
    }
    /** CHAR auf die RS232 ausgeben*/
    public void writecharRS232(char ausgabe,PrintWriter Out)
    {
        if (RS232port != null)
        {
            PrintWriter aus = new PrintWriter(RS232out);
              aus.print(ausgabe);
              aus.flush();
              aus.close();
         } 
    }
    /**Vektor auslesen*/
    public void getrs232vector(PrintWriter Out)
    {
    	for(int i=0;i<rs232vector.size();i++)
    	{
    		Out.println("RS232> "+(String)rs232vector.get(i)+"
");
    	}
    	Out.println();
    }
    /**Vektor auf Länge überprüfen und trimmen*/
    public void checkvector()
    {
    	if(rs232vector.size()>50)
    	{
    		rs232vector.remove(0);
    	}
    }
  /** Klasse für die permanente Datenaufzeichnung der seriellen Schnittstelle  
   * @author     Jochen Steinmann                                              
   * @version    1.0                                                           
   * @since      1.0                                                           
   */    
  public class commListener implements SerialPortEventListener{
  	int z = 0;
   public void serialEvent(SerialPortEvent event) {
      if(event.getEventType()==SerialPortEvent.DATA_AVAILABLE){
        byte[] readBuffer = new byte[20];
        try {
          	while (RS232in.available() > 0) {int numBytes = RS232in.read(readBuffer);}
          	String nachricht = new String(readBuffer);
          	rs232vector.add(nachricht);
          	checkvector();
        } 
        catch (IOException e) {System.out.println("Fehler: "+e);}
      }
    }
  }
Hoffe, ich konnte dir weiterhelfen.

Gruß