public void process(File inFile, OutputStream outStr) throws IOException, ItlException { /* Read the original library in */ Hdfm hdfm; InputStream inStr = new FileInputStream(inFile); try { Input di = new InputImpl(inStr); hdfm = Hdfm.read(di, inFile.length()); } finally { inStr.close(); } /* Modify... */ ByteArrayOutputStream dto = new ByteArrayOutputStream(); process(new DataInputStream(new ByteArrayInputStream(hdfm.fileData)), hdfm.fileData.length, new DataOutputStream(dto)); /* ...and write out */ DataOutput out = new DataOutputStream(outStr); hdfm.write(out, dto.toByteArray()); }
public void write(DataOutput o) throws IllegalArgumentException, IOException, ItlException { write(o, fileData); }
return new Hdfm(version, unknown, headerRemainder, null, false);
public static Library parse(InputStream in, long fileLength) throws IOException, ItlException { Input di = new InputImpl(in); Hdfm hdr = Hdfm.read(di, fileLength); ParseLibrary pl = new ParseLibrary(); String path = pl.drain(inputFor(hdr.fileData), hdr.fileData.length); // for (InputRange ir : pl.diagnostics) { // System.out.println(ir); // } Library library = new Library(hdr, path, pl.playlists, pl.podcasts, pl.tracks, pl.resourcesWithArtwork); return library; }
Hdfm.readInline(di, length, consumed); consumed = length;