La sun fornisce il package javax.comm per la comunicazione con porte seriali e parallele; qui c'è la specifica delle api:
http://java.sun.com/products/javacom...e-summary.html
The Java Communications API contains support for RS232 serial ports and IEEE 1284 parallel ports. With updated functionality, developers can:
Enumerate ports available on the system
Open and claim ownership of ports
Resolve port ownership contention between multiple applications
Perform asynchronous and synchronous I/O on ports
Receive Beans-style events describing communication port state changes
I programmi java girano su una machina virtuale: da programmi java puoi accedere a qualsiasi funzionalità dipendente dal sistema operativo sottostante nella misura in cui viene implementata la relativa interfaccia verso la macchina virtuale java. Se cosi non fosse non si potrebbe accedere al file system o creare applicazioni a interfaccia grafica, funzionalità queste che vengono offerte 'di base' dalla macchina virtuale. Per gli optional bisogna utilizzare delle estensioni o librerie scritte da terze parti.il grande difetto di java deriva dal suo grande punto di forza: per java la macchina su cui gira il tuo programma è completamente trasparente. Gestire periferiche tramite java è (a dir poco) drammatico (a mio avviso).
Di certo se vuoi scrivere un'applicazione che si basa tutta sulla comunicazione con le porte, java non è la scelta più immediata...