我正在开发一个 Swing 应用程序,它允许用户查看(主要是本地存储的)文件集。我可以将文件列表(以及其他首选项)作为文本存储在属性文件中,但是当我尝试将文件值拉回时,使用
myProperties.getProperty("File")
它会丢弃文本中的一些“\”。我确认写入属性文件是这样的:
myPrintWriter.println("File = " + myFile.toString().replaceAll("\\\\", "/"))
或这个:
myPrintWriter.println("File = " + myFile.toString().replaceAll("\\\\", "\\\\\\\\"))
将允许getProperty()
像我预期的那样工作,但我不喜欢在没有 API 解释的情况下将我的数据转换为 Java 特定格式,所以我决定将它写在 Stack Overflow 上。
但是当我在帖子中达到这一点时,我开始感到尴尬;我正要在 Stack Overflow 上发帖,甚至没有咨询 Java 源代码java.util.Properties
(随 JDK 一起分发)。我发现 Javadoc 注释Properties.load()
表明这是一个设计决策,例如,它允许 Properties 值包含换行符。如果我发现我需要这种语言独立性,我想我会考虑用 XML 编写我的属性文件。
结语:所以这是我在 Stack Overflow 上的第一篇文章,我已经回答了我自己的问题,但我还是决定发布它,希望有人(或者,也许是一些人工的自然语言处理智能)可以找到它有用(或有启发性)。另外,我很好奇人们可能会在回复中发布的任何想法或建议。TL;博士?谢谢阅读!