Reads and interpolates Java .properties files


Read Java .properties files. Supports adding dynamically some files and array key value (same key multiple times)

Install the module with: npm install java-properties

    var properties = require('java-properties');
    var values = properties.of('');
    //Read a value from the properties file 
    values.get('a.key'); //returns value of a.key 
    //Add an additional file's properties 
    //Clear out all values 
    // returns the value of a.key of 'defaultValue' if key is not found 
    values.get('a.key', 'defaultValue');
    // returns the value of the as an int or 18 
    values.getInt('', 18);
    // returns the value of the a.float.key as a float or 18.23 
    values.getFloat('a.float.key', 18.23);
    // returns the value of the a.bool.key as an boolean. Parse true or false with any case or 0 or 1 
    values.getBoolean('a.bool.key', true);
    // returns all the keys 
    // adds another file the properties list 
    // empty the keys previously loaded 
    [ -- .properties file
    values.get('an.array.key'); // returns [value1, value2] 
    // Multiple contexts 
    var myFile = new PropertiesFile(
    var myOtherFile = new PropertiesFile();

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

  • 0.1.0 Initial commit
  • 0.1.5 Support empty strings
  • 0.1.6 New API: getKeys
  • 0.1.7 New APIs: addFile and reset
  • 0.1.8 Add array key (the same key many time in files)
  • 0.2.0 Wrap features into a class to be able to have multiple running contexts
  • 0.2.1 Add default value to get method. Add getInt and getFloat to get an integer or float value
  • 0.2.2 Add getBoolean method to get a value as a boolean. Accepted values are true, TRUE, false, FALSE, 0, 1
  • 0.2.3 Add getMatchingKeys method
  • 0.2.4 Allow multi-line properties
  • 0.2.5 Refactorings, no new features
  • 0.2.6 FIX interpolation when a property is multivalued

Licensed under the MIT license.