Depending on java version, midi results are different...
I used midi for Zoltar's return last year, because it requires much less space than any other format (15K is a big file). but you have to keep in mind the java sound bank is far for professional quality...
To have access to your soundcard, you can have a look at WireProvider (from memory) and hook the sequencer to its midi out ports (java 1.4 doesn't send midi event to the soundcard).
Don't know about java 5 issues (haven't tried it for a year).
have a look here : it's full of intersting informations :
http://www.jsresources.org/Lilian