The problem is it seem like property file key/value pairs are delimited by the ":" and I can not find a way to change that. Someone suggested I use Properties.load(InputStream inStream) but in reading the documentation I found:
"The key contains all of the characters in the line starting with the first non-white space character and up to, but not including, the first unescaped '=', ':'...."
I do not want people to have to escape all of the ":"'s.
Yadrif Rifkin wrote:I do need to stick with "::" as separator. It is out of my control.
And likewise the rules for escaping in Properties files are also out of your control. So if your design says you're using a Properties file, and you have users who are typing data into these Properties files, it follows that they must be trained to do it properly.
If you don't like that, then obviously you have two alternatives, which have already been explored:
(1) Don't use characters as separators which must be escaped (although you will eventually run into other characters which must be escaped)
(2) Don't use Properties.load() to read these files (in which case you will have to design your own escaping rules)