java.util.Properties: reproducible write

Roger Riggs roger.riggs at oracle.com
Mon Nov 25 23:23:48 UTC 2024


Hi Rafael,

You might have missed the update added by JDK-8231640 
<https://bugs.openjdk.org/browse/JDK-8231640> Canonical property storage
The comment string can be provided either by a separate method 
`store(Writer, String)` or by a system property.

Regards, Roger

On 11/25/24 4:53 PM, Rafael Winterhalter wrote:
> Hello,
>
> I find the java.util.Properties class to be quite convenient when 
> writing minor collections of key-values. One unfortunate implication 
> of the store method is that it always contains a comment line with the 
> current date. The comment is never deserialized when loading the file, 
> but the file hash is of course always changed, even if the content is 
> identical at a later time. This can have unfortunate implications when 
> the file hash is relevant to some form of cashing or validation mechanism.
>
> Would it be a good idea to add an overload that allows disabling the 
> date comment? This would only require minimal code changes and the 
> storage format would become reproducible. The key-values are already 
> sorted by their key. The date can be fixed by a system property, but 
> this is not always possible to define if the writer is not in control 
> of the command line. Right now I have to reimplement the 
> Properties::store method only to exclude this line.
>
> Thanks for your consideration and opinion,
> Rafael
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/core-libs-dev/attachments/20241125/5617f05a/attachment.htm>


More information about the core-libs-dev mailing list