title: rewrite id3v2 tagging java
body: <p>I'm looking to be able to get the metadata from various mp3s and store them as strings. This is easy with ID3v1 as it's the last 128 bits, but for ID3v2 onwards all of the metadata is stored in variable sized frames, and I'm currently unable to extract this. Any help much appreciated, thanks
  Current code is :</p>
  
  <pre><code>    Path fromC = Paths.get("C:\\whatever.mp3");
      byte[] data = Files.readAllBytes(fromC);
      String[] bytesInString = new String[768];
      //uses a loop 768 times as its up to 256mb in size, and 3 digit numbers
      for (int i = 0; i &lt; (768); i++) {
          bytesInString [i] = Character.toString((char) (data[i]));
      }
      StringBuilder byteResult = new StringBuilder();
      for (int i = 0; i &lt; bytesInString .length; i++) {
          byteResult.append(title[i]);
      }
      String allMeta= byteResult.toString();
      System.out.println(allMeta);
  </code></pre>
  
  <p>which is to simply save the metadata as a string for use elsewhere, but currently prints it out to just check it.
  This however gives results such as 'ID3 OTRCK 2TALB FeelTIT2 Here We GoPRIV ) WM/MediaClassSecondaryID        PRIV 'WM/MediaClassPrimaryID  ￑#￣￢KﾆﾡHﾤ PRIV ' - which shows that it is semi-able to get the metadata, but is currently unable to make it easy to read/useful. Could anyone explain or give any sample code as to how to make it more legible and with just the title, artist, etc, rather than the frame information.</p>