当前位置: 首页 > 知识库问答 >
问题:

在属性文件中写入属性,而不中断文件中的窗口路径

逑兴安
2023-03-14

windows中的属性文件包含以下绝对文件路径:

[PRAXIS]
PVS=CDP_Z1
PXID=94773

[SENDEN]
PVS=CDP_Z1
DATEI=C:\imex_workspace\1535_1297160840340.1247
VERSION=2.5

[STATUS]
ERRORLEVEL=0
ERRORTEXT=
READY=0

这个A文件包含B文件的文件路径。我想使用Java属性类将READY属性写入1,其他保持不变。

Properties p = new Properties();
String upload = "a.ini";
p.load(new FileInputStream(upload));
if(p.get("READY") != null && "0".equals(p.get("READY")))
{
  p.setProperty("READY","1");
  p.store(new FileOutputStream(new File(upload)),null);
}

不知何故,a.ini中的文件路径在a.ini更新后被破坏。有人帮助找出在文件中写入属性的最佳方式(可能不是ini,可能是txt文件)。

共有1个答案

太叔正文
2023-03-14

问题背后的原因是,对于Java属性文件,反斜杠字符用作转义字符,如在C或Java语言中。

您在问题中发布的此文件不是有效的Java属性文件,它是Windows INI文件。Windows INI文件不同于Java属性文件,因为它们有“节”(在您的示例中为praxis senden状态),还因为路径是以DOS格式指定的,这意味着反斜杠(\)用作路径分隔符。在Java中,路径分隔符可以在Windows中用作反斜杠(\),但最常用的是unix斜杠(//code>)。问题是,如果要使用反斜杠,需要“转义”它,因此应使用双反斜杠指定路径:

DATEI=C:\\imex_workspace\\1535_1297160840340.1247

或其他:

DATEI=C:/imex_workspace/1535_1297160840340.1247

通过这种方式,路径与Java属性文件格式兼容。但这可能会对使用它的Windows应用程序产生副作用。ini文件。

为了解决这个问题,我认为您最好使用适当的库来处理Windows。ini配置文件,这将保证涵盖这种情况,但也包括您可能没有考虑到的其他可能性,因为Java属性文件遵循的规范与Windows不同。ini格式。

在这里,您可以找到几个可能需要考虑的库:

  • Ini4J
  • Apache公共配置
  • JIniFile

 类似资料:
  • 问题内容: 我为该标题表示歉意。我找不到更好的方法来解释这种情况。 我使用URL http://www.exampledepot.com/egs/java.util/Props.html中所述的Property类加载属性文件。 我的问题是我可以在该属性文件中使用属性吗? 例: test.properties 其他语法有可能吗? 谢谢 问题答案: 以前从未见过。您当然 可以 制作自己的预处理器。只要

  • 问题内容: 我对使用Spring应用程序的属性文件中的值进行写入/更新时有一些要求。 我已经用谷歌搜索过,但是我没有找到使用Spring的直接方法。 是否有人知道该怎么做或是否有最佳方法。 提前致谢。 问题答案: 您可以这样实现: 资源 编辑:使用来自org.springframework.Util的defaultPropertiesPersiter更新

  • 问题内容: 内容: 我要从更改为。这是我的代码: 输出内容: 其他属性将被删除。我想更新一个特定的属性值,而不删除其他属性。 问题答案: 关闭输入流后,打开输出流并存储属性。

  • 问题内容: 我正在将 FILEPATH 参数写入属性文件,如下所示。 文件 路径 为 D:\ filelog.txt 写入时,控制台打印如下。 但是当我打开属性文件时,内容就像.. 有人建议我,我在这里真正在想什么..? 问题答案: 只是打电话。您将看到像输入一样返回“ D:\ filelog.txt”。

  • 问题内容: 给定以下格式( .properties 或 .ini ): 对于 Java ,提供了Properties类,该类提供了用于解析上述格式或与其进行交互的功能。 python 的 标准 库(2.x)中有类似的东西吗? 如果没有,我还有什么其他选择? 问题答案: 对于.ini文件,有一个ConfigParser模块,它提供与.ini文件兼容的格式。 无论如何,没有任何可用于解析完整的.pro