Class DiffableProperties


  • public class DiffableProperties
    extends Object
    Formats Properties files in a format to maximize the ability for diff tools (like git diff) to represent changes. This is accomplished with the following steps:
    1. Always use UNIX newlines ('\n') on all platforms.
    2. Change Unicode escapes \\uHHHH to lower-case \\uhhhh for compatibility with native2ascii and files saved by NetBeans.
    3. Make all multi-line values span multiple lines. Add an escaped newline after any "\n" that is not at the end of the line already. The next line will be prefixed with a "\" if it starts with whitespace.

    For maximum diffability, this should be used along with SortedProperties.

    See Also:
    Properties, SortedProperties
    • Method Detail

      • formatProperties

        public static String formatProperties​(String properties)
        Formats a properties file provided as a String. The file may contain Unicode values as supported by Java 9+.

        The file encoding is not performed by this method. For Java <= 8, this should be stored in the ISO8859-1 encoding. For Java >= 9, this may be stored in the UTF-8 encoding.

      • main

        public static void main​(String[] args)
        Rewrites the given files, if modified. Reads and writes the files in ISO8859-1 encoding.