Hallo zusammen
Wir haben in der Berufsschule momentan ein Miniprojekt zur Vorbereitung auf die Abschlussprüfung am Laufen. Ich habe dabei das Thema abbekommen, ID3v2-Tags aus MP3-Dateien auszulesen und diese über eine GUI zu ändern. Dabei ist ein Tag immer so aufgebaut, dass ein 4stelliger String als Header dient, z.B. "TPE1" für den Interpreten. Nach dem Header folgt dann der entsprechende Content.
Das Auslesen funktioniert auch generell, leider nicht sehr performant,d.h. dass bei einer Datei von ca 4MB das Suchen der Tags ca 2 Minuten in Anspruch nimmt.
Momentan läuft die Suche der Tags nach folgendem Schema ab:
Ich lese mit einem RandomAccessFile-Objekt 4 Bytes der Datei ein, wandel die gelesenen Bytes in einen String und vergleiche diesen mit einer Liste aller einzulesenden Tags. Wurde ein Tag gefunden, wird der nachfolgende Inhalt in das entsprechende Attribut der Klasse geschrieben. Wurde kein Tag gefunden, setze ich den Dateizeiger um 3 Positionen zurück und lese erneut 4 Bytes ein.
Dies ist auch der Grund, warum die Suche eine längere Zeit in Anspruch nimmt. Hat jemand von euch vielleicht eine Idee, wie die Suche nach den Tags etwas zügiger durchgeführt werden könnte?
Gruß
Die Lady