Vorgehen um Dateiformate einzulesen

Otzelot

Mitglied
Guten Tag zusammen,
ich habe mir mal vorgenommen vielleicht zur Übung ein Programm zu schreiben, dass Tabulaturen abspielt. Mein Problem ist jetzt ich weiß leider schon nicht wie ich rein theoretisch so ein Dateiformat wie gp5 (Guitar Pro 5)einlesen und bearbeiten kann und anschließend entsprechend bearbeite. Wie geht man da vor? Man müsste doch erstmal verstehen wie diese Dateien aufgebaut sind um ein Import entsprechend zu programmieren, aber wie kriegt man den Aufbau jetzt heraus bzw. Wo kann man anfangen was sind Schlagwörter für Google?
Danke.
 

ARadauer

Top Contributor
Das ist nicht so einfach. Du kannst ja mal die Datei mit einem Texteditor aufmachen und schaun was drin steht.

Wenn du Glück hast, ist es ein Textformat und man kann einigermassen lesen was da vor sich geht... wenn du pech hast ist es ein binärformat und man sieht eigentlich relativ wenig... Was macht man dann? Hoffen das es vielleicht eine offzielle Beschreibung oder eine Bibliothek dafür gibt, falls das nicht der fall ist ... hat man irgendwie peach gehabt...

TuxGuitar ? Wikipedia ich denke da hat sich schon jemand die Arbeit gemacht, die Sachen in java zu lesen, den src könntest du dir besorgen und dir das ansehen...
 

Otzelot

Mitglied
Also Textformat ist es nicht. Ich hab einfach mal zwei GP5 Dateien erstellt die sich nur an einer Stelle unterscheiden und dann mithilfe von 2 BufferedReader mir beide ausgeben lassen, so dass ich es vergleichen konnte, da es bei TuxGuitar in der Art auch gemacht wird muss es also einen unterschied geben. Im Prinzip konnte ich damit feststellen, wo was geändert werden muss um eine andere Note zu spielen. Ehrlich gesagt artet das allerdings mit allmöglichen Verzierungen unterschiedlichen Notengeschwindigkeiten, verschiedene Techniken, unterscheidung der Instrumente usw usw usw in eine riesige Sache aus, wobei man jetzt nicht wirklich viel lernt außer aufzuschreiben welches Byte welche Stelle ändert. Sollte ich nicht so Wahnsinnig viel langweile haben, dass ich tatsächlich Lust bekomme jedes einzelne Byte zu vergleichen um zu wissen wofür es steht, werde ich es dann doch lieber sein lassen. In einem vernünftigen Textformat wäre das ganze Unterfangen recht schnell gegangen.
 

Ähnliche Java Themen

Neue Themen


Oben