繁体   English   中英

在.properties文件Java中存储日期

[英]Storing date in .properties file java

我试图将日期存储在config.properties文件中,但是格式错误。

try{
    prop.setProperty("last_run_time",sdf.format(date));
    prop.store(new FileOutputStream("config.properties"),null);
}
catch (Exception e){
    e.printStackTrace();
}

sdf.format(date))值正确,例如2013-08-23 02:47 问题是在属性文件2013-08-23 02\\:47存储了该文件。 '\\'来自哪里?

\\揭露你的: 通常, :用来定义带有值的键! 您可以在此处阅读有关取消屏蔽和.properties文件的更多信息。

这来自Java Doc:

键包含该行中的所有字符,从第一个非空白字符开始,直到但不包括第一个非转义的'=',':'或除行终止符以外的空白字符。 所有这些密钥终止字符都可以通过用前面的反斜杠字符转义来包括在密钥中。 例如,

\\:\\ =

将是两个字符的键“:=“。 可以使用\\ r和\\ n转义序列包含行终止符。 跳过键后的任何空格; 如果键后的第一个非空白字符为'='或':',则将其忽略,并且其后的所有空白字符也将被跳过。 该行上所有剩余的字符将成为关联元素字符串的一部分; 如果没有剩余字符,则该元素为空字符串“”。 一旦识别出构成键和元素的原始字符序列,就如上所述执行转义处理。

我认为可以保存为\\:

Java属性文件不是供您阅读的文本。 用于读取Java代码。 转义\\将确保Java应用程序下次读取它时,会将其解释为冒号,而不是键/值分隔符。

冒号是可能的键/值分隔字符之一。 前导反斜杠将其转义 (仅当密钥包含冒号时才需要这样做,但始终转义时,您更倾向于保存)。

有效分配的变体:

key value
key= value
key: value

请参见Javadoc:Properties.load(Reader)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM