RandomAccessFile f = null; byte[] b = null; try { f = new RandomAccessFile(soundfile, "r"); b = new byte[(int) f.length()]; f.read(b); } catch (IOException ex) { Logger.getLogger(DicomAudio.class.getName()).log(Level.SEVERE, null, ex); } finally { dicom.getNestedDataset(Tag.WaveformSequence).setBytes(Tag.WaveformData, VR.CS, b); if (f != null) { try { f.close(); b = null; } catch (IOException ex) { Logger.getLogger(DicomAudio.class.getName()).log(Level.SEVERE, null, ex); } } }
DicomOutputStream dos = new DicomOutputStream(f); Attributes attr = createDicomHeader();
dos.writeDataset(null, attr);
dos.finish(); dos.flush();