Normal
Der Code hat einiges an Macken (nicht nur optisch).Warum lieferst du ein Singleton (immer noch unsynchronisiert und somit falsch) und parst nicht sofort auch die Properties? So ist die Methode dazu public und kann beliebig oft (und auch konkurrierend) aufgerufen werden.Die Klasse hat einen ungünstigen Namen (ist kein Reader) und die parse-Methode auch. Die Klasse ist vermutlich eher ein ConfigurationProvider (stellt Konfiguratswerte bereit) und parse sollte private sein und beim Erstellen der Instanz einmalig aufgerufen werden.So hast du auch das Problem, dass u.U. die Getter vor dem Parsen aufgerufen werden können und somit ein falsches Ergebnis liefern.In der Regel ist es flexibler, Properties über den Classloader zu laden und nicht aus dem Filesystem.Streams solltest du immer auch schließen, wenn du mit der Verarbeitung fertig bist.
Der Code hat einiges an Macken (nicht nur optisch).
Warum lieferst du ein Singleton (immer noch unsynchronisiert und somit falsch) und parst nicht sofort auch die Properties? So ist die Methode dazu public und kann beliebig oft (und auch konkurrierend) aufgerufen werden.
Die Klasse hat einen ungünstigen Namen (ist kein Reader) und die parse-Methode auch. Die Klasse ist vermutlich eher ein ConfigurationProvider (stellt Konfiguratswerte bereit) und parse sollte private sein und beim Erstellen der Instanz einmalig aufgerufen werden.
So hast du auch das Problem, dass u.U. die Getter vor dem Parsen aufgerufen werden können und somit ein falsches Ergebnis liefern.
In der Regel ist es flexibler, Properties über den Classloader zu laden und nicht aus dem Filesystem.
Streams solltest du immer auch schließen, wenn du mit der Verarbeitung fertig bist.