Hallo!
Ich programmier grad ein Programm, welches ID3Tags von MP3s ausliest und diese in einer JTable datstellt. Problem ist jetzt, wie ich die Daten meinem TableModel bereitstellen soll.
Erster Versuch war die Objekte der Mp3-Lib in einer Liste zu speichern. Somit hätte ich jederzeit Zugriff auf alle Informationen der Datei die ich brauche. Nur erhalte ich bei sehr vielen Dateien ein Problem mit meinem Heap Space.
Zweiter Ansatz ist, dass ich alle Daten vom ID3Tag die ich brauche auslese und in einer Map speichere. Das TableModel hat dann eine Liste von Maps als Content. Damit läuft das Programm auch noch, wenn ich gut 9000 Mp3s reinlade, wobei die Speicherauslastung doch ein wenig hochgeht.
Meine Frage ist jetzt, ob es dafür eine bessere Lösung gibt. Ich brauche pro Datei ca. 22 Strings, wovon ich 9 in der Tabelle darstelle. 4 Strings könnte ich on-the-fly nachladen, da diese nur angezeigt werden wenn eine Datei markiert ist.
Eine weitere Möglichkeit, die ich bis jetzt aber noch nicht ausprobiert habe, ist eine Datenbank zu verwenden, und die Daten aus dieser zu laden.
bin für jede Meinung dankbar flo
Ich programmier grad ein Programm, welches ID3Tags von MP3s ausliest und diese in einer JTable datstellt. Problem ist jetzt, wie ich die Daten meinem TableModel bereitstellen soll.
Erster Versuch war die Objekte der Mp3-Lib in einer Liste zu speichern. Somit hätte ich jederzeit Zugriff auf alle Informationen der Datei die ich brauche. Nur erhalte ich bei sehr vielen Dateien ein Problem mit meinem Heap Space.
Zweiter Ansatz ist, dass ich alle Daten vom ID3Tag die ich brauche auslese und in einer Map speichere. Das TableModel hat dann eine Liste von Maps als Content. Damit läuft das Programm auch noch, wenn ich gut 9000 Mp3s reinlade, wobei die Speicherauslastung doch ein wenig hochgeht.
Meine Frage ist jetzt, ob es dafür eine bessere Lösung gibt. Ich brauche pro Datei ca. 22 Strings, wovon ich 9 in der Tabelle darstelle. 4 Strings könnte ich on-the-fly nachladen, da diese nur angezeigt werden wenn eine Datei markiert ist.
Eine weitere Möglichkeit, die ich bis jetzt aber noch nicht ausprobiert habe, ist eine Datenbank zu verwenden, und die Daten aus dieser zu laden.
bin für jede Meinung dankbar flo