I have this java application and ran into a requirement to parse an STDF.
Actually all I needed is to get the FAR,MIR and MRR sections of an stdf file. There exists
In addition to making sure you call p.waitFor(), you may also have to read the contents of the streams. If the streams aren't read, the processes will stall.
Try adding this class: http://www.physionet.org/physiotools/puka/sourceCode/puka/StreamGobbler.java
And calling it:
new StreamGobbler(p.getErrorStream(), "Error");
new StreamGobbler(p.getInputStream(), "Input");
You might be able to come up with a more efficient class on your own, but that one should at least give you the basic idea (note that it wasn't written by me).