Per interagire a così basso livello con la macchina probabilmente C ti "semplificherebbe" non poco la vita. Resta poi da costruire il bridge tra C e java e per quello c'è java native interface

http://java.sun.com/j2se/1.5.0/docs/...jni/index.html