K
KartoffelKiffer
Gast
Hallo,
ich habe eine Konfigurationsdatei, die als property gehalten wird. Also im Muster key=value\nkey=value ...
Ich habe eine öffentliche Klasse ReadConfig, welche einen Konstruktor enthält, der wiederrum ein Element private Properties erstellt.
Mittels this.properties.load(new FileInputStream(file)) fülle ich meine Properties mit einer Liste von Elementen aus der übergebenen Datei.
Möchte ich nun ein spezielles Elemenent haben, lese ich es in einer getProperty Funktion aus, die mir auch lediglich this.getPropery(key) zurück gibt. Das Ganze noch in einen try-catch Block gepackt, und das wars.
Jetzt bekomme ich seit einiger Zeit den Fehler, "Too many open files", welches genau auf die Datei zeigt. Es kann sein, dass MAXIMAL 20 Aufrufe der Datei gleichzeitig in einer Prozedur vorkommen, das aber auch wirklich selten.
Der Fehler tritt auch bloß sporadisch auf, sodass er schlecht reproduzierbar ist.
Habe ich vielleicht vergessen etwas zu schließen, das mir nicht bekannt ist? Der "Property-Reader" müsste doch das übergebene File von allein schließen, oder sehe ich das falsch?
Mfg Tom
ich habe eine Konfigurationsdatei, die als property gehalten wird. Also im Muster key=value\nkey=value ...
Ich habe eine öffentliche Klasse ReadConfig, welche einen Konstruktor enthält, der wiederrum ein Element private Properties erstellt.
Mittels this.properties.load(new FileInputStream(file)) fülle ich meine Properties mit einer Liste von Elementen aus der übergebenen Datei.
Möchte ich nun ein spezielles Elemenent haben, lese ich es in einer getProperty Funktion aus, die mir auch lediglich this.getPropery(key) zurück gibt. Das Ganze noch in einen try-catch Block gepackt, und das wars.
Jetzt bekomme ich seit einiger Zeit den Fehler, "Too many open files", welches genau auf die Datei zeigt. Es kann sein, dass MAXIMAL 20 Aufrufe der Datei gleichzeitig in einer Prozedur vorkommen, das aber auch wirklich selten.
Der Fehler tritt auch bloß sporadisch auf, sodass er schlecht reproduzierbar ist.
Habe ich vielleicht vergessen etwas zu schließen, das mir nicht bekannt ist? Der "Property-Reader" müsste doch das übergebene File von allein schließen, oder sehe ich das falsch?
Mfg Tom